summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <bcameron@src.gnome.org>2005-10-28 22:24:35 +0000
committerBrian Cameron <bcameron@src.gnome.org>2005-10-28 22:24:35 +0000
commit4372b6c7057160b9130d6f92e7163ca02afa76cc (patch)
tree0f5cd8835c88511714a0b070ce66d6bcb73148a3
parent425d7ea63968c83692f5c09c03af89ed6996978d (diff)
downloadgdm-4372b6c7057160b9130d6f92e7163ca02afa76cc.tar.gz
2005-10-28 Brian Cameron <brian.cameron@sun.com.
* gui/gdmlogin.c, gui/greeter/greeter_item_capslock.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--gui/gdmlogin.c6
-rw-r--r--gui/greeter/greeter_item_capslock.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c
index 11706776..c88a544b 100644
--- a/gui/gdmlogin.c
+++ b/gui/gdmlogin.c
@@ -1871,7 +1871,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
@@ -1881,10 +1881,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
diff --git a/gui/greeter/greeter_item_capslock.c b/gui/greeter/greeter_item_capslock.c
index 9aca3071..cdfbcbce 100644
--- a/gui/greeter/greeter_item_capslock.c
+++ b/gui/greeter/greeter_item_capslock.c
@@ -65,7 +65,7 @@ get_parent_display (void)
gboolean
greeter_is_capslock_on (void)
{
- unsigned int states;
+ XkbStateRec states;
Display *dsp;
/* HACK! incredible hack, if this is set we get
@@ -75,10 +75,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;
}