Index: gtk+//ChangeLog
===================================================================
RCS file: /export/cvs/gnome-2.0/gtk+/ChangeLog,v
retrieving revision 1.91
diff -p -u -5 -r1.91 ChangeLog
--- gtk+//ChangeLog	2002/07/27 23:04:54	1.91
+++ gtk+//ChangeLog	2002/07/30 10:52:12
@@ -1,5 +1,12 @@
+Tue Jul 30 16:20:17 2002  Shivram U  <shivaram.upadhyayula@wipro.com>
+
+	* gdk/x11/gdkkeys-x11.c (update_keymaps): Increased the keycount to
+	(max_keycode - min_keycode) + 1 from (max_keycode - min_keycode).
+	(update_keymaps), (gdk_keymap_get_entries_for_keyval) looping through
+	less than or equal to max_keycode. (#79184)
+
 Fri Jul 26 17:59:06 2002  Owen Taylor  <otaylor@redhat.com>
  
  	* configure.in: Replace uses of grep \(A\|B\) ... with
  	egrep (A|B). (#84872, Arnaud Charlet)
  
Index: gtk+//gdk/x11/gdkkeys-x11.c
===================================================================
RCS file: /export/cvs/gnome-2.0/gtk+/gdk/x11/gdkkeys-x11.c,v
retrieving revision 1.7
diff -p -u -5 -r1.7 gdkkeys-x11.c
--- gtk+//gdk/x11/gdkkeys-x11.c	2002/06/21 22:50:01	1.7
+++ gtk+//gdk/x11/gdkkeys-x11.c	2002/07/30 10:10:37
@@ -225,21 +225,21 @@ update_keymaps (GdkKeymapX11 *keymap_x11
 
       if (keymap_x11->mod_keymap)
         XFreeModifiermap (keymap_x11->mod_keymap);
       
       keymap_x11->keymap = XGetKeyboardMapping (xdisplay, keymap_x11->min_keycode,
-						keymap_x11->max_keycode - keymap_x11->min_keycode,
+						keymap_x11->max_keycode - keymap_x11->min_keycode + 1,
 						&keymap_x11->keysyms_per_keycode);
 
 
       /* GDK_ISO_Left_Tab, as usually configured through XKB, really messes
        * up the whole idea of "consumed modifiers" because shift is consumed.
        * However, <shift>Tab is not usually GDK_ISO_Left_Tab without XKB,
        * we we fudge the map here.
        */
       keycode = keymap_x11->min_keycode;
-      while (keycode < keymap_x11->max_keycode)
+      while (keycode <= keymap_x11->max_keycode)
         {
           KeySym *syms = keymap_x11->keymap + (keycode - keymap_x11->min_keycode) * keymap_x11->keysyms_per_keycode;
 	  /* Check both groups */
 	  for (i = 0 ; i < 2 ; i++)
 	    {
@@ -515,11 +515,11 @@ gdk_keymap_get_entries_for_keyval (GdkKe
     {
       const KeySym *map = get_keymap (keymap_x11);
       gint keycode;
       
       keycode = keymap_x11->min_keycode;
-      while (keycode < keymap_x11->max_keycode)
+      while (keycode <= keymap_x11->max_keycode)
         {
           const KeySym *syms = map + (keycode - keymap_x11->min_keycode) * keymap_x11->keysyms_per_keycode;
           gint i = 0;
 
           while (i < keymap_x11->keysyms_per_keycode)
