[gtk+/wip/baedert/gtkimageview] popover: Check for priv->window before using it



commit ef7e4857a0daa79a19b8cbd3081c4bfdda3d4acf
Author: Timm Bäder <mail baedert org>
Date:   Fri May 13 17:57:33 2016 +0200

    popover: Check for priv->window before using it
    
    The rest of the code is doing it because it could be NULL everywhere,
    so also do it in ::map and ::unmap.

 gtk/gtkpopover.c |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)
---
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index c5c002a..f9791fc 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -602,16 +602,20 @@ gtk_popover_map (GtkWidget *widget)
 {
   GtkPopoverPrivate *priv = GTK_POPOVER (widget)->priv;
 
-  priv->prev_default = gtk_window_get_default_widget (priv->window);
-  if (priv->prev_default)
-    g_object_ref (priv->prev_default);
+  if (priv->window)
+    {
+      priv->prev_default = gtk_window_get_default_widget (priv->window);
+      if (priv->prev_default)
+        g_object_ref (priv->prev_default);
+    }
 
   GTK_WIDGET_CLASS (gtk_popover_parent_class)->map (widget);
 
   gdk_window_show (gtk_widget_get_window (widget));
   gtk_popover_update_position (GTK_POPOVER (widget));
 
-  gtk_window_set_default (priv->window, priv->default_widget);
+  if (priv->window)
+    gtk_window_set_default (priv->window, priv->default_widget);
 }
 
 static void
@@ -624,9 +628,13 @@ gtk_popover_unmap (GtkWidget *widget)
   gdk_window_hide (gtk_widget_get_window (widget));
   GTK_WIDGET_CLASS (gtk_popover_parent_class)->unmap (widget);
 
-  if (gtk_window_get_default_widget (priv->window) == priv->default_widget)
-    gtk_window_set_default (priv->window, priv->prev_default);
-  g_clear_object (&priv->prev_default);
+  if (priv->window)
+    {
+      if (gtk_window_get_default_widget (priv->window) == priv->default_widget)
+        gtk_window_set_default (priv->window, priv->prev_default);
+
+      g_clear_object (&priv->prev_default);
+    }
 }
 
 static GtkPositionType


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]