diff options
author | Brian Cameron <bcameron@src.gnome.org> | 2005-10-28 22:11:15 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2005-10-28 22:11:15 +0000 |
commit | be017d6531d3afcbcfd50e2a4faf4e245101610b (patch) | |
tree | a96bbe053d73b607efd51a20ce496a3237cc004d | |
parent | 5dc8072b588df413d3ed41b047de727a9da4946b (diff) | |
download | gdm-be017d6531d3afcbcfd50e2a4faf4e245101610b.tar.gz |
2005-10-28 Brian Cameron <brian.cameron@sun.com.
* gui/gdmlogin.c: Patch to make GDM warn
correctly about caps lock if an alternative
keymap is enabled. Now use kbGetState
instead of XkbGetIndicatorState. Fixes
bug #317732. Patch provided by Sebastien
Bacher <seb128@debian.org>.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | gui/gdmlogin.c | 6 |
2 files changed, 13 insertions, 4 deletions
@@ -1,8 +1,17 @@ +2005-10-28 Brian Cameron <brian.cameron@sun.com. + + * gui/gdmlogin.c: Patch to make GDM warn + correctly about caps lock if an alternative + keymap is enabled. Now use kbGetState + instead of XkbGetIndicatorState. Fixes + bug #317732. Patch provided by Sebastien + Bacher <seb128@debian.org>. + 2005-10-28 Jürg Billeter <j@bitron.ch> * configure.ac: Check for X server in prefix /usr -2005-10-27 Erdal Ronahi <erdal.ronahi@gmail.com> +2005-10-27 Brian Cameron <brian.cameron@sun.com> * daemon/slave.c: Fix race condition where the d variable wasn't being set until after the signal diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c index 71bc7833..a154d4f5 100644 --- a/gui/gdmlogin.c +++ b/gui/gdmlogin.c @@ -1885,7 +1885,7 @@ get_parent_display (void) static gboolean greeter_is_capslock_on (void) { - unsigned int states; + XkbStateRec states; Display *dsp; /* HACK! incredible hack, if GDM_PARENT_DISPLAY is set we get @@ -1895,10 +1895,10 @@ greeter_is_capslock_on (void) if (dsp == NULL) dsp = GDK_DISPLAY (); - if (XkbGetIndicatorState (dsp, XkbUseCoreKbd, &states) != Success) + if (XkbGetState (dsp, XkbUseCoreKbd, &states) != Success) return FALSE; - return (states & ShiftMask) != 0; + return (states.locked_mods & LockMask) != 0; } static gboolean |