[patch] gtkmenu.c, gtkentry.c



Here's a small patch to gtkmenu.c that fixes some brokenness in the 
accelerator mechanism:

--- gtkmenu.c~	Tue Jun  3 17:35:03 1997
+++ gtkmenu.c	Wed Jun 11 13:08:56 1997
@@ -638,6 +638,8 @@
 						  signame,
 						  menu_item->accelerator_key,
 						  menu_item->accelerator_mods);
+	      if (!table)
+		table = GTK_MENU (widget)->accelerator_table;
 	      gtk_widget_remove_accelerator (GTK_WIDGET (menu_item),
 					     table, signame);
 	    }

Basically, it wasn't properly removing the old accelerator when you 
pressed a key. One consequence is that the old key still worked, even 
after you set it to a new one. Another consequence is that if you hit a 
key twice, it made it look like it took the accelerator away and wouldn't 
let you set it back.

Here's a small patch to gtkentry.c that makes it behave much more nicely 
when it's inside a container that also accepts button clicks:

--- gtkentry.c.orig	Wed Jun 11 13:28:02 1997
+++ gtkentry.c	Wed Jun 11 13:25:37 1997
@@ -689,7 +689,7 @@
 	}
     }
 
-  return FALSE;
+  return TRUE;
 }
 
 static gint
@@ -732,7 +732,7 @@
 	gdk_selection_owner_set (NULL, GDK_SELECTION_PRIMARY, 
event->time, TRUE);
     }
 
-  return FALSE;
+  return TRUE;
 }
 
 static gint

This patch is going to be required for the next release of gzilla. 
Otherwise, the focus mechanism gets really screwed up in forms.

Also, please disregard my button patch for now. Getting all combinations
of becoming sensitive, becoming insensitive, from inside the button,
outside the button, etc., is actually pretty subtle, and I haven't figured
out how to do it yet. 

Raph



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]