[gtk+] GtkPlug: preserve map/unmap invariants



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]