]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkplug.c
set RECEIVES_DEFAULT on init, and a button press on the widget doesn't
[~andy/gtk] / gtk / gtkplug.c
index 4e95bb1e96f15510c959483960641eebb44a43d7..3e6a564d20d51598529170ac933332adc328499e 100644 (file)
@@ -44,7 +44,7 @@ gtk_plug_get_type ()
 
   if (!plug_type)
     {
-      GtkTypeInfo plug_info =
+      static const GtkTypeInfo plug_info =
       {
        "GtkPlug",
        sizeof (GtkPlug),
@@ -88,6 +88,7 @@ gtk_plug_init (GtkPlug *plug)
   window->type = GTK_WINDOW_TOPLEVEL;
   window->auto_shrink = TRUE;
 }
+
 void
 gtk_plug_construct (GtkPlug *plug, guint32 socket_id)
 {
@@ -100,6 +101,7 @@ gtk_plug_construct (GtkPlug *plug, guint32 socket_id)
       plug->same_app = FALSE;
     }
 }
+
 GtkWidget*
 gtk_plug_new (guint32 socket_id)
 {
@@ -202,7 +204,9 @@ gtk_plug_key_press_event (GtkWidget   *widget,
          break;
        case GDK_Return:
        case GDK_KP_Enter:
-         if (window->default_widget)
+         if (window->default_widget &&
+             (!window->focus_widget || 
+              !GTK_WIDGET_RECEIVES_DEFAULT (window->focus_widget)))
            {
              gtk_widget_activate (window->default_widget);
              return_val = TRUE;