diff options
author | Matthias Clasen <mclasen@redhat.com> | 2006-12-22 07:18:21 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2006-12-22 07:18:21 +0000 |
commit | d9a6a829ce282ab60ef1b13834616eb257782975 (patch) | |
tree | 0863914f15cc94a81de01449ec4137133f32d793 /gtk/gtkplug-x11.c | |
parent | 33153bec3679e9013bbcb819bc8b028cc4190ce0 (diff) | |
download | gtk+-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.c | 8 |
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: |