[Xfce4-commits] <midori:master> Also update icon URI when a new icon was loaded
Christian Dywan
noreply at xfce.org
Tue Mar 16 00:38:01 CET 2010
Updating branch refs/heads/master
to ba7f73891f11304cf4a88df0f6629c066b13ba8a (commit)
from f4b4c5316643b3ddabb6359c09880322fd943823 (commit)
commit ba7f73891f11304cf4a88df0f6629c066b13ba8a
Author: Christian Dywan <christian at twotoasts.de>
Date: Mon Mar 15 23:58:24 2010 +0100
Also update icon URI when a new icon was loaded
midori/midori-view.c | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/midori/midori-view.c b/midori/midori-view.c
index 32cb288..67cf8c1 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -722,7 +722,7 @@ typedef void (*KatzeNetIconCb) (GdkPixbuf* icon,
typedef struct
{
gchar* icon_file;
- KatzeNetIconCb icon_cb;
+ gchar* icon_uri;
MidoriView* view;
} KatzeNetIconPriv;
@@ -730,6 +730,7 @@ void
katze_net_icon_priv_free (KatzeNetIconPriv* priv)
{
g_free (priv->icon_file);
+ g_free (priv->icon_uri);
g_free (priv);
}
@@ -740,8 +741,7 @@ katze_net_icon_status_cb (KatzeNetRequest* request,
switch (request->status)
{
case KATZE_NET_VERIFIED:
- if (request->mime_type &&
- !g_str_has_prefix (request->mime_type, "image/"))
+ if (request->mime_type && strncmp (request->mime_type, "image/", 6))
{
katze_net_icon_priv_free (priv);
return FALSE;
@@ -794,15 +794,9 @@ katze_net_icon_transfer_cb (KatzeNetRequest* request,
g_strdup (priv->icon_file), pixbuf);
}
- if (!priv->icon_cb)
- {
- katze_net_icon_priv_free (priv);
- return;
- }
-
if (!pixbuf)
{
- priv->icon_cb (NULL, priv->view);
+ midori_view_icon_cb (NULL, priv->view);
katze_net_icon_priv_free (priv);
return;
}
@@ -814,7 +808,8 @@ katze_net_icon_transfer_cb (KatzeNetRequest* request,
GDK_INTERP_BILINEAR);
g_object_unref (pixbuf);
- priv->icon_cb (pixbuf_scaled, priv->view);
+ katze_assign (priv->view->icon_uri, g_strdup (priv->icon_uri));
+ midori_view_icon_cb (pixbuf_scaled, priv->view);
katze_net_icon_priv_free (priv);
}
@@ -867,19 +862,16 @@ _midori_web_view_load_icon (MidoriView* view)
g_free (icon_file);
katze_assign (view->icon_uri, icon_uri);
}
- /* If the called doesn't provide an icon callback,
- we assume there is no interest in loading an un-cached icon. */
else
{
priv = g_new0 (KatzeNetIconPriv, 1);
priv->icon_file = icon_file;
- priv->icon_cb = (KatzeNetIconCb)midori_view_icon_cb;
+ priv->icon_uri = icon_uri;
priv->view = view;
katze_net_load_uri (view->net, icon_uri,
(KatzeNetStatusCb)katze_net_icon_status_cb,
(KatzeNetTransferCb)katze_net_icon_transfer_cb, priv);
- g_free (icon_uri);
}
}
More information about the Xfce4-commits
mailing list