[maemo-commits] [maemo-commits] r14558 - in projects/haf/trunk/hildon-input-method-framework: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Oct 22 13:58:02 EEST 2007
Author: tjunnone
Date: 2007-10-22 13:58:00 +0300 (Mon, 22 Oct 2007)
New Revision: 14558

Modified:
   projects/haf/trunk/hildon-input-method-framework/ChangeLog
   projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c
Log:
2007-10-22  Tomas Junnonen  <tomas.junnonen at nokia.com>

        * src/hildon-im-context.c: Modifier key presses should
          not clear the sticky or lock state. This allows stickying
          of multiple keys at the same time. Fixes NB#71928.


Modified: projects/haf/trunk/hildon-input-method-framework/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-input-method-framework/ChangeLog	2007-10-22 10:57:54 UTC (rev 14557)
+++ projects/haf/trunk/hildon-input-method-framework/ChangeLog	2007-10-22 10:58:00 UTC (rev 14558)
@@ -1,3 +1,9 @@
+2007-10-22  Tomas Junnonen  <tomas.junnonen at nokia.com>
+
+	* src/hildon-im-context.c: Modifier key presses should
+	  not clear the sticky or lock state. This allows stickying
+	  of multiple keys at the same time. Fixes NB#71928.
+
 2007-10-19  Tomas Junnonen  <tomas.junnonen at nokia.com>
 
 	* src/hildon-im-context.c: Always send Return/Enter to the IM,

Modified: projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c
===================================================================
--- projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c	2007-10-22 10:57:54 UTC (rev 14557)
+++ projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c	2007-10-22 10:58:00 UTC (rev 14558)
@@ -1562,7 +1562,9 @@
   /* Sticky and lock state reset */
   if (event->type == GDK_KEY_PRESS)
   {
-    if (event->keyval != GDK_Shift_L && event->keyval != GDK_Shift_R)
+    if (event->keyval != GDK_Shift_L && event->keyval != GDK_Shift_R &&
+        event->is_modifier == FALSE)
+
     {
       /* If not locked, pressing any character resets shift state */
       if ((self->mask & HILDON_IM_SHIFT_LOCK_MASK) == 0)
@@ -1570,7 +1572,8 @@
         self->mask &= ~HILDON_IM_SHIFT_STICKY_MASK;
       }
     }
-    if (event->keyval != LEVEL_KEY)
+    if (event->keyval != LEVEL_KEY &&
+        event->is_modifier == FALSE)
     {
       /* If not locked, pressing any character resets level state */
       if ((self->mask & HILDON_IM_LEVEL_LOCK_MASK) == 0)


More information about the maemo-commits mailing list