]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkplug.c
Only auto-insert the prefix if we are at the end of the text
[~andy/gtk] / gtk / gtkplug.c
index 499b1e04daf11389b616f8c730f9841a53988710..6fc1e536673b1e38e8b6d48d4c1e203169501d0a 100644 (file)
@@ -148,6 +148,13 @@ gtk_plug_class_init (GtkPlugClass *class)
                                                         FALSE,
                                                         GTK_PARAM_READABLE));
 
+  /**
+   * GtkPlug::embedded:
+   * @plug: the object on which the signal was emitted
+   *
+   * Gets emitted when the plug becomes embedded in a socket
+   * and when the embedding ends.
+   */ 
   plug_signals[EMBEDDED] =
     g_signal_new (I_("embedded"),
                  G_OBJECT_CLASS_TYPE (class),
@@ -422,8 +429,11 @@ gtk_plug_construct_for_display (GtkPlug         *plug,
            }
        }
 
-      if (plug->socket_window)
+      if (plug->socket_window) {
        g_signal_emit (plug, plug_signals[EMBEDDED], 0);
+
+        g_object_notify (G_OBJECT (plug), "embedded");
+      }
     }
 }
 
@@ -482,17 +492,15 @@ gtk_plug_finalize (GObject *object)
 static void
 gtk_plug_unrealize (GtkWidget *widget)
 {
-  GtkPlug *plug;
-
-  g_return_if_fail (GTK_IS_PLUG (widget));
-
-  plug = GTK_PLUG (widget);
+  GtkPlug *plug = GTK_PLUG (widget);
 
   if (plug->socket_window != NULL)
     {
       gdk_window_set_user_data (plug->socket_window, NULL);
       g_object_unref (plug->socket_window);
       plug->socket_window = NULL;
+
+      g_object_notify (G_OBJECT (widget), "embedded");
     }
 
   if (!plug->same_app)
@@ -511,16 +519,12 @@ gtk_plug_unrealize (GtkWidget *widget)
 static void
 gtk_plug_realize (GtkWidget *widget)
 {
-  GtkWindow *window;
-  GtkPlug *plug;
+  GtkWindow *window = GTK_WINDOW (widget);
+  GtkPlug *plug = GTK_PLUG (widget);
   GdkWindowAttr attributes;
   gint attributes_mask;
 
-  g_return_if_fail (GTK_IS_PLUG (widget));
-
   GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
-  window = GTK_WINDOW (widget);
-  plug = GTK_PLUG (widget);
 
   attributes.window_type = GDK_WINDOW_CHILD;   /* XXX GDK_WINDOW_PLUG ? */
   attributes.title = window->title;