vcl/source/window/winproc.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 96cf06c947838120e37f3fbb4d0543dd882cb20c
Author:     Maxim Monastirsky <momonas...@gmail.com>
AuthorDate: Thu Oct 25 16:33:17 2018 +0300
Commit:     Maxim Monastirsky <momonas...@gmail.com>
CommitDate: Fri Oct 26 00:31:26 2018 +0200

    tdf#120907 Arrow keys don't work in palette list
    
    For a docking window which reparented to a floating window
    via DockingManager, Window::GetParent() won't find the
    floating window, because WindowImpl::mpRealParent points
    to the previous parent (e.g. the toolbar). What we need is
    to check WindowImpl::mpParent instead.
    
    Change-Id: Ibdc5e29b7b8db37f9cbea65b3d7fbe39de334319
    Reviewed-on: https://gerrit.libreoffice.org/62361
    Tested-by: Jenkins
    Reviewed-by: Maxim Monastirsky <momonas...@gmail.com>

diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 7b841781c435..32f52d1df45c 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -821,6 +821,13 @@ static vcl::Window* ImplGetKeyInputWindow( vcl::Window* 
pWindow )
             if (static_cast<FloatingWindow *>(pChild)->GrabsFocus())
                 break;
         }
+        else if (pChild->ImplGetWindowImpl()->mbDockWin)
+        {
+            vcl::Window* pParent = 
pChild->GetWindow(GetWindowType::RealParent);
+            if (pParent && pParent->ImplGetWindowImpl()->mbFloatWin &&
+                static_cast<FloatingWindow *>(pParent)->GrabsFocus())
+                break;
+        }
         pChild = pChild->GetParent();
     }
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to