summaryrefslogtreecommitdiff
path: root/gtk/gtkplug-x11.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2006-12-22 07:18:21 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2006-12-22 07:18:21 +0000
commitd9a6a829ce282ab60ef1b13834616eb257782975 (patch)
tree0863914f15cc94a81de01449ec4137133f32d793 /gtk/gtkplug-x11.c
parent33153bec3679e9013bbcb819bc8b028cc4190ce0 (diff)
downloadgtk+-d9a6a829ce282ab60ef1b13834616eb257782975.tar.gz
Make it possible to track the embeddedness of statusicon (#387215, Martyn
2006-12-22 Matthias Clasen <mclasen@redhat.com> Make it possible to track the embeddedness of statusicon (#387215, Martyn Russell, patch by Christian Persch) * gtk/gtkstatusicon.c: Add orientation and embedded properties. * gtk/gtkplug.c: * gtk/gtkplug-x11.c: Add an embedded property. * tests/teststatusicon.c: Test the new properties.
Diffstat (limited to 'gtk/gtkplug-x11.c')
-rw-r--r--gtk/gtkplug-x11.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c
index 0ba2f5807c..028b2fe288 100644
--- a/gtk/gtkplug-x11.c
+++ b/gtk/gtkplug-x11.c
@@ -278,6 +278,8 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent,
{
GTK_NOTE (PLUGSOCKET, g_message ("GtkPlug: calling gtk_plug_send_delete_event()\n"));
_gtk_plug_send_delete_event (widget);
+
+ g_object_notify (G_OBJECT (plug), "embedded");
}
}
else
@@ -299,7 +301,7 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent,
{
g_warning (G_STRLOC "Plug reparented unexpectedly into window in the same process");
plug->socket_window = NULL;
- break;
+ break; /* FIXME: shouldn't this unref the plug? i.e. "goto done;" instead */
}
g_object_ref (plug->socket_window);
@@ -308,13 +310,15 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent,
{
plug->socket_window = gdk_window_foreign_new_for_display (display, xre->parent);
if (!plug->socket_window) /* Already gone */
- break;
+ break; /* FIXME: shouldn't this unref the plug? i.e. "goto done;" instead */
}
_gtk_plug_add_all_grabbed_keys (plug);
if (!was_embedded)
g_signal_emit_by_name (plug, "embedded");
+
+ g_object_notify (G_OBJECT (plug), "embedded");
}
done: