aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-10-12 12:25:53 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-10-12 12:25:53 +0000
commite502246a364e77992aef609e030bc566addfb960 (patch)
treef954384c86147e2e611fb7fe69f7c4f9627fdad9 /src/plugins
parent5c7f1aebc57e74548bf5b3e09e407845bc520fb8 (diff)
downloadqmmp-e502246a364e77992aef609e030bc566addfb960.tar.gz
qmmp-e502246a364e77992aef609e030bc566addfb960.tar.bz2
qmmp-e502246a364e77992aef609e030bc566addfb960.zip
fixed bug with calling XGrabKey with zero keycodes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1306 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/General/hotkey/hotkeymanager.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/General/hotkey/hotkeymanager.cpp b/src/plugins/General/hotkey/hotkeymanager.cpp
index ec1fb4350..7ddb83a4f 100644
--- a/src/plugins/General/hotkey/hotkeymanager.cpp
+++ b/src/plugins/General/hotkey/hotkeymanager.cpp
@@ -87,6 +87,8 @@ HotkeyManager::HotkeyManager(QObject *parent) : General(parent)
hotkey->action = i;
hotkey->key = key;
hotkey->code = XKeysymToKeycode(QX11Info::display(), hotkey->key);
+ if(!hotkey->code)
+ continue;
XGrabKey(QX11Info::display(), hotkey->code, mod | mask_mod, rootWindow, False,
GrabModeAsync, GrabModeAsync);
hotkey->mod = mod | mask_mod;
@@ -102,7 +104,10 @@ HotkeyManager::HotkeyManager(QObject *parent) : General(parent)
HotkeyManager::~HotkeyManager()
{
foreach(Hotkey *key, m_grabbedKeys)
- XUngrabKey(QX11Info::display(), key->code, key->mod, QX11Info::appRootWindow());
+ {
+ if(key->code)
+ XUngrabKey(QX11Info::display(), key->code, key->mod, QX11Info::appRootWindow());
+ }
while (!m_grabbedKeys.isEmpty())
delete m_grabbedKeys.takeFirst ();
}