[gtk+] GtkPlug: preserve map/unmap invariants
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkPlug: preserve map/unmap invariants
- Date: Sat, 3 Sep 2011 01:41:25 +0000 (UTC)
commit be152f9b6196849c99c54afe5a0f651d08bf4626
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Sep 2 21:40:42 2011 -0400
GtkPlug: preserve map/unmap invariants
gtk/gtkplug.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c
index e0c3836..1d4240d 100644
--- a/gtk/gtkplug.c
+++ b/gtk/gtkplug.c
@@ -1131,14 +1131,14 @@ gtk_plug_map (GtkWidget *widget)
GtkBin *bin = GTK_BIN (widget);
GtkPlug *plug = GTK_PLUG (widget);
GtkWidget *child;
-
+
gtk_widget_set_mapped (widget, TRUE);
child = gtk_bin_get_child (bin);
if (child != NULL &&
gtk_widget_get_visible (child) &&
- !gtk_widget_get_mapped (child))
- gtk_widget_map (child);
+ !gtk_widget_get_mapped (child))
+ gtk_widget_map (child);
xembed_set_info (gtk_widget_get_window (GTK_WIDGET (plug)), XEMBED_MAPPED);
@@ -1157,6 +1157,7 @@ gtk_plug_unmap (GtkWidget *widget)
{
GtkPlug *plug = GTK_PLUG (widget);
GdkWindow *window;
+ GtkWidget *child;
window = gtk_widget_get_window (widget);
@@ -1164,6 +1165,10 @@ gtk_plug_unmap (GtkWidget *widget)
gdk_window_hide (window);
+ child = gtk_bin_get_child (GTK_BIN (widget));
+ if (child != NULL)
+ gtk_widget_unmap (child);
+
xembed_set_info (gtk_widget_get_window (GTK_WIDGET (plug)), 0);
gdk_synthesize_window_state (window,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]