vcl/source/app/salvtables.cxx |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit aa1c2fa118e6ad9c71769881b0017ec74cba3cae
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Mon Nov 25 16:49:52 2024 +0000
Commit:     Thorsten Behrens <thorsten.behr...@allotropia.de>
CommitDate: Mon Nov 25 23:24:37 2024 +0100

    Resolves: tdf#163777 Ignore pageup and down when modifier held...
    
    in a SalInstanceEntryTreeView, otherwise the ctrl+pageup/down gets
    processed twice by the toplevel notebook due to the forwarding used
    here.
    
    Change-Id: Ic5003064ddba44f940fb4c4a727d8081c3644361
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177279
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>
    Tested-by: Jenkins

diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index e989a0160e8d..6acd5153fc91 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -6951,9 +6951,12 @@ IMPL_LINK(SalInstanceEntryTreeView, KeyPressListener, 
VclWindowEvent&, rEvent, v
     if (rEvent.GetId() != VclEventId::WindowKeyInput)
         return;
     const KeyEvent& rKeyEvent = *static_cast<KeyEvent*>(rEvent.GetData());
+    if (rKeyEvent.GetKeyCode().GetModifier()) // tdf#163777 ignore when 
modifier held
+        return;
     sal_uInt16 nKeyCode = rKeyEvent.GetKeyCode().GetCode();
-    if (!(nKeyCode == KEY_UP || nKeyCode == KEY_DOWN || nKeyCode == KEY_PAGEUP
-          || nKeyCode == KEY_PAGEDOWN))
+    const bool bNavigation = nKeyCode == KEY_UP || nKeyCode == KEY_DOWN || 
nKeyCode == KEY_PAGEUP
+                             || nKeyCode == KEY_PAGEDOWN;
+    if (!bNavigation)
         return;
 
     m_pTreeView->disable_notify_events();

Reply via email to