[epiphany] Fix warning when no favicon is available



commit f0ba10ceffc8db9f29f4e1bcfac7b53416ba18da
Author: Jan-Michael Brummer <jan brummer tabos org>
Date:   Sat Jul 18 16:28:31 2020 +0200

    Fix warning when no favicon is available
    
    (epiphany:60012): Gdk-CRITICAL **: 16:26:36.854: gdk_cairo_surface_create_from_pixbuf: assertion 
'GDK_IS_PIXBUF (pixbuf)' failed

 src/ephy-tab-label.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)
---
diff --git a/src/ephy-tab-label.c b/src/ephy-tab-label.c
index 748cbd7a5..bb2ea16c2 100644
--- a/src/ephy-tab-label.c
+++ b/src/ephy-tab-label.c
@@ -103,7 +103,6 @@ ephy_tab_label_set_property (GObject      *object,
 {
   EphyTabLabel *self = EPHY_TAB_LABEL (object);
   const gchar *str;
-  cairo_surface_t *surface;
 
   switch (prop_id) {
     case PROP_LABEL_TEXT:
@@ -122,12 +121,19 @@ ephy_tab_label_set_property (GObject      *object,
       }
       break;
     case PROP_ICON_BUF:
-      surface = gdk_cairo_surface_create_from_pixbuf (g_value_get_object (value),
-                                                      0,
-                                                      gtk_widget_get_window (GTK_WIDGET (self)));
-      gtk_image_set_from_surface (GTK_IMAGE (self->icon), surface);
-      cairo_surface_destroy (surface);
-      self->has_icon = g_value_get_object (value) != NULL;
+      if (g_value_get_object (value)) {
+        cairo_surface_t *surface;
+
+        surface = gdk_cairo_surface_create_from_pixbuf (g_value_get_object (value),
+                                                        0,
+                                                        gtk_widget_get_window (GTK_WIDGET (self)));
+        gtk_image_set_from_surface (GTK_IMAGE (self->icon), surface);
+        cairo_surface_destroy (surface);
+        self->has_icon = TRUE;
+      } else {
+        gtk_image_set_from_surface (GTK_IMAGE (self->icon), NULL);
+        self->has_icon = FALSE;
+      }
       ephy_tab_label_update_icon (self);
       break;
     case PROP_SPINNING:


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