vcl/source/app/weldutils.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit c34fced015ce06ced01e29971ba26b3871c0ec8d
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Wed Jul 31 16:29:23 2024 +0100
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Thu Aug 1 06:22:18 2024 +0200

    Resolves: tdf#162278 get popup position relative to the dest parent
    
    since:
    
    commit 85511e27d259d6b19cc6c463fc06368c14511bb8
    Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
    AuthorDate: Sat Jul 27 20:25:35 2024 +0100
    
        Resolves: tdf#160509 use BorderWindow client for dialog parent
    
    we now use the clientwindow of toplevel frames as the parent window to
    use as the parent for dialogs/etc so we get the right SystemWindow for
    dialogs.
    
    So we need to also adjust the calculation of where we put child popups
    of such toplevel frames to be relative to the clientwindow instead of
    borderwindow
    
    Change-Id: I896e75a5ad709a51a445dc1be2c0fb9f985f01a7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171296
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/vcl/source/app/weldutils.cxx b/vcl/source/app/weldutils.cxx
index 235e3140adca..fd9bded527fb 100644
--- a/vcl/source/app/weldutils.cxx
+++ b/vcl/source/app/weldutils.cxx
@@ -610,6 +610,8 @@ weld::Window* GetPopupParent(vcl::Window& rOutWin, 
tools::Rectangle& rRect)
     AbsoluteScreenPixelRectangle aRectAbs = 
FloatingWindow::ImplConvertToAbsPos(&rOutWin, rRect);
 
     vcl::Window* pWin = rOutWin.GetFrameWindow();
+    // resolve from a possible BorderWindow to the ClientWindow (returns 
itself if not)
+    pWin = pWin->ImplGetWindow();
 
     rRect = FloatingWindow::ImplConvertToRelPos(pWin, aRectAbs);
     rRect.SetPos(pWin->ScreenToOutputPixel(rRect.TopLeft()));

Reply via email to