]> spindle.queued.net Git - midori/commitdiff
Fix favicon support properly
authorChristian Dywan <christian@twotoasts.de>
Mon, 14 Jul 2008 19:15:33 +0000 (21:15 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 14 Jul 2008 19:15:33 +0000 (21:15 +0200)
midori/midori-webview.c

index b99d4e366857107d5c57e7f92dee185b989e87b7..9843636afff456664c8e68e2f78a7b299a96fe17 100644 (file)
@@ -943,10 +943,12 @@ midori_web_view_get_link_uri (MidoriWebView* web_view)
 GdkPixbuf*
 midori_web_view_get_icon (MidoriWebView* web_view)
 {
+    #if GLIB_CHECK_VERSION (2, 16, 0)
     GFile* file;
     GFile* icon_file;
     GIcon* icon;
     GInputStream* stream;
+    #endif
     GdkPixbuf* pixbuf;
 
     g_return_val_if_fail (MIDORI_IS_WEB_VIEW (web_view), NULL);
@@ -955,23 +957,22 @@ midori_web_view_get_icon (MidoriWebView* web_view)
     file = g_file_new_for_uri (web_view->uri ? web_view->uri : "");
     icon_file = g_file_get_child (file, "favicon.ico");
     icon = g_file_icon_new (icon_file);
-    if (icon)
-        stream = g_loadable_icon_load (G_LOADABLE_ICON (icon),
-                                       GTK_ICON_SIZE_MENU,
-                                       NULL, NULL, NULL);
-    else
-        stream = NULL;
-    if (stream)
+    if (icon && (stream = g_loadable_icon_load (G_LOADABLE_ICON (icon),
+                                               GTK_ICON_SIZE_MENU,
+                                               NULL, NULL, NULL)))
     {
         pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, NULL);
         g_object_unref (stream);
     }
-    g_object_unref (icon);
-    g_object_unref (icon_file);
-    g_object_unref (file);
-    if (!stream)
+    else
     #endif
         pixbuf = gtk_widget_render_icon (GTK_WIDGET (web_view),
             GTK_STOCK_FILE, GTK_ICON_SIZE_MENU, NULL);
+    #if GLIB_CHECK_VERSION (2, 16, 0)
+    if (icon)
+        g_object_unref (icon);
+    g_object_unref (icon_file);
+    g_object_unref (file);
+    #endif
     return pixbuf;
 }