diff --git a/ChangeLog b/ChangeLog index 89c203845e..5e160d15c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Dec 27 14:04:22 2001 Owen Taylor + + * gtk/gtksocket.c (gtk_socket_key_press_event): + gtk/gtkplug.c (gtk_plug_key_press_event): Don't do + special handling of key presses unless we are doing + iter-app embedding. (Fixes #67590, Anders Carlsson) + Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 89c203845e..5e160d15c1 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,10 @@ +Thu Dec 27 14:04:22 2001 Owen Taylor + + * gtk/gtksocket.c (gtk_socket_key_press_event): + gtk/gtkplug.c (gtk_plug_key_press_event): Don't do + special handling of key presses unless we are doing + iter-app embedding. (Fixes #67590, Anders Carlsson) + Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 89c203845e..5e160d15c1 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Thu Dec 27 14:04:22 2001 Owen Taylor + + * gtk/gtksocket.c (gtk_socket_key_press_event): + gtk/gtkplug.c (gtk_plug_key_press_event): Don't do + special handling of key presses unless we are doing + iter-app embedding. (Fixes #67590, Anders Carlsson) + Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 89c203845e..5e160d15c1 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,10 @@ +Thu Dec 27 14:04:22 2001 Owen Taylor + + * gtk/gtksocket.c (gtk_socket_key_press_event): + gtk/gtkplug.c (gtk_plug_key_press_event): Don't do + special handling of key presses unless we are doing + iter-app embedding. (Fixes #67590, Anders Carlsson) + Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 89c203845e..5e160d15c1 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,10 @@ +Thu Dec 27 14:04:22 2001 Owen Taylor + + * gtk/gtksocket.c (gtk_socket_key_press_event): + gtk/gtkplug.c (gtk_plug_key_press_event): Don't do + special handling of key presses unless we are doing + iter-app embedding. (Fixes #67590, Anders Carlsson) + Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 89c203845e..5e160d15c1 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +Thu Dec 27 14:04:22 2001 Owen Taylor + + * gtk/gtksocket.c (gtk_socket_key_press_event): + gtk/gtkplug.c (gtk_plug_key_press_event): Don't do + special handling of key presses unless we are doing + iter-app embedding. (Fixes #67590, Anders Carlsson) + Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 89c203845e..5e160d15c1 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +Thu Dec 27 14:04:22 2001 Owen Taylor + + * gtk/gtksocket.c (gtk_socket_key_press_event): + gtk/gtkplug.c (gtk_plug_key_press_event): Don't do + special handling of key presses unless we are doing + iter-app embedding. (Fixes #67590, Anders Carlsson) + Thu Dec 27 16:37:04 2001 Kristian Rietveld * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted), diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 8a919ef208..e8af9c5f05 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -567,13 +567,18 @@ static gboolean gtk_plug_key_press_event (GtkWidget *widget, GdkEventKey *event) { - if (!GTK_WINDOW (widget)->has_focus) + if (GTK_WIDGET_TOPLEVEL (widget)) { - gtk_plug_forward_key_press (GTK_PLUG (widget), event); - return TRUE; + if (!GTK_WINDOW (widget)->has_focus) + { + gtk_plug_forward_key_press (GTK_PLUG (widget), event); + return TRUE; + } + else + return GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event); } else - return GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event); + return FALSE; } static void diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 5753dc9a28..cc7e306ea0 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -687,7 +687,7 @@ gtk_socket_key_press_event (GtkWidget *widget, { GtkSocket *socket = GTK_SOCKET (widget); - if (socket->plug_window) + if (GTK_WIDGET_HAS_FOCUS (socket) && socket->plug_window && !socket->plug_widget) { XEvent xevent;