+Mon May 20 11:47:59 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkplug.c: Undo an accidental revert of
+ fixes of May 16. (Caught by Padraig O'Briain)
+
+ * gtk/gtkctree.c (cell_size_request): Fix bug where
+ size request for text cells was being overwritten.
+ (#82264, Graham Swallow.)
+
2002-05-18 Matthias Clasen <maclas@gmx.de>
* configure.in: Check for endianness. Sorry about REBUILD_PNGS...
+Mon May 20 11:47:59 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkplug.c: Undo an accidental revert of
+ fixes of May 16. (Caught by Padraig O'Briain)
+
+ * gtk/gtkctree.c (cell_size_request): Fix bug where
+ size request for text cells was being overwritten.
+ (#82264, Graham Swallow.)
+
2002-05-18 Matthias Clasen <maclas@gmx.de>
* configure.in: Check for endianness. Sorry about REBUILD_PNGS...
+Mon May 20 11:47:59 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkplug.c: Undo an accidental revert of
+ fixes of May 16. (Caught by Padraig O'Briain)
+
+ * gtk/gtkctree.c (cell_size_request): Fix bug where
+ size request for text cells was being overwritten.
+ (#82264, Graham Swallow.)
+
2002-05-18 Matthias Clasen <maclas@gmx.de>
* configure.in: Check for endianness. Sorry about REBUILD_PNGS...
+Mon May 20 11:47:59 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkplug.c: Undo an accidental revert of
+ fixes of May 16. (Caught by Padraig O'Briain)
+
+ * gtk/gtkctree.c (cell_size_request): Fix bug where
+ size request for text cells was being overwritten.
+ (#82264, Graham Swallow.)
+
2002-05-18 Matthias Clasen <maclas@gmx.de>
* configure.in: Check for endianness. Sorry about REBUILD_PNGS...
+Mon May 20 11:47:59 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkplug.c: Undo an accidental revert of
+ fixes of May 16. (Caught by Padraig O'Briain)
+
+ * gtk/gtkctree.c (cell_size_request): Fix bug where
+ size request for text cells was being overwritten.
+ (#82264, Graham Swallow.)
+
2002-05-18 Matthias Clasen <maclas@gmx.de>
* configure.in: Check for endianness. Sorry about REBUILD_PNGS...
+Mon May 20 11:47:59 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkplug.c: Undo an accidental revert of
+ fixes of May 16. (Caught by Padraig O'Briain)
+
+ * gtk/gtkctree.c (cell_size_request): Fix bug where
+ size request for text cells was being overwritten.
+ (#82264, Graham Swallow.)
+
2002-05-18 Matthias Clasen <maclas@gmx.de>
* configure.in: Check for endianness. Sorry about REBUILD_PNGS...
requisition->height = MAX (requisition->height, height);
break;
default:
- requisition->width = 0;
- requisition->height = 0;
break;
}
GtkAllocation *allocation);
static gboolean gtk_plug_key_press_event (GtkWidget *widget,
GdkEventKey *event);
+static gboolean gtk_plug_focus_event (GtkWidget *widget,
+ GdkEventFocus *event);
static void gtk_plug_set_focus (GtkWindow *window,
GtkWidget *focus);
static gboolean gtk_plug_focus (GtkWidget *widget,
widget_class->realize = gtk_plug_realize;
widget_class->unrealize = gtk_plug_unrealize;
widget_class->key_press_event = gtk_plug_key_press_event;
+ widget_class->focus_in_event = gtk_plug_focus_event;
+ widget_class->focus_out_event = gtk_plug_focus_event;
widget_class->show = gtk_plug_show;
widget_class->hide = gtk_plug_hide;
return FALSE;
}
+static gboolean
+gtk_plug_focus_event (GtkWidget *widget,
+ GdkEventFocus *event)
+{
+ /* We eat focus-in events and focus-out events, since they
+ * can be generated by something like a keyboard grab on
+ * a child of the plug.
+ */
+ return FALSE;
+}
+
static void
gtk_plug_set_focus (GtkWindow *window,
GtkWidget *focus)
case XEMBED_FOCUS_OUT:
{
+ GtkWidget *widget = GTK_WIDGET (plug);
GdkEvent event;
event.focus_change.type = GDK_FOCUS_CHANGE;
- event.focus_change.window = GTK_WIDGET (plug)->window;
+ event.focus_change.window = widget->window;
event.focus_change.send_event = TRUE;
- event.focus_change.in = (message == XEMBED_FOCUS_IN);
-
- gtk_widget_event (GTK_WIDGET (plug), &event);
+ if (message == XEMBED_FOCUS_IN)
+ {
+ event.focus_change.in = TRUE;
+ GTK_WIDGET_CLASS (parent_class)->focus_in_event (widget, (GdkEventFocus *)&event);
+ }
+ else
+ {
+ event.focus_change.in = FALSE;
+ GTK_WIDGET_CLASS (parent_class)->focus_out_event (widget, (GdkEventFocus *)&event);
+ }
+
break;
}