https://bugs.kde.org/show_bug.cgi?id=454704

Ahmad Samir <a.samir...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Version Fixed In|                            |5.95
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/fram
                   |                            |eworks/kglobalaccel/commit/
                   |                            |1a8e8cb00cda5807926a90ae8e5
                   |                            |d5597354f3541

--- Comment #6 from Ahmad Samir <a.samir...@gmail.com> ---
Git commit 1a8e8cb00cda5807926a90ae8e5d5597354f3541 by Ahmad Samir.
Committed on 10/06/2022 at 21:45.
Pushed by ahmadsamir into branch 'master'.

Fix D-Bus de/marshalling KGlobalAccel::MatchType

Otherwise the globalShortcutsByKey() method is silently skipped, and isn't
visible on the org.kde.KGlobalAccel D-Bus interface.

It turns out that to test changes made in kglobalaccel d-bus interface, you
need to kill the system /usr/bin/kglobalaccel process (be careful as that
breaks the most basic shortcuts, e.g. Alt+Tab), and run the one from the
build-dir, otherwise the session d-bus won't pick up your changes.

To test:
- List all methods on the interface:
  `qdbus org.kde.kglobalaccel /kglobalaccel`
- The followin messages are printed in the system log/journal:
Skipped method "globalShortcutsByKey" : Unregistered input type in parameter
list: KGlobalAccel::MatchType
Skipped method "globalShortcutsByKey" : Unregistered input type in parameter
list: KGlobalAccel::MatchType

To see the behaviour mentioned in the bug report:
- Create a global shortcut of some kind (e.g. F4 to start some app)
- open the shortcut editor in e.g. Dolphin, and try to assign that same
  shortcut to some other action the conflict shortcut message dialog should
  show a message similar to the one in the attached screenshot at:
  https://bugs.kde.org/show_bug.cgi?id=454704#c0
The list of GlobalShortcutInfo returned by globalShortcutsByKey() is empty
because the method couldn't be found on the d-bus interface.

After applying patch:
- kill the system /usr/bin/kglobalaccel and start the one from the build
  dir
- Start Dolphin with the libs from the build-dir e.g.:
  LD_LIBRARY_PATH=build-dir/bin/ dolphin
- The info about the global shortcut should be shown in the message dialog
FIXED-IN: 5.95

M  +19   -0    src/kglobalaccel.cpp
M  +3    -0    src/kglobalaccel.h
M  +1    -0    src/kglobalshortcutinfo_p.h
M  +2    -1    src/org.kde.KGlobalAccel.xml
M  +2    -2    src/runtime/kglobalacceld.cpp

https://invent.kde.org/frameworks/kglobalaccel/commit/1a8e8cb00cda5807926a90ae8e5d5597354f3541

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to