diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks.c | 20 |
2 files changed, 16 insertions, 10 deletions
@@ -1,3 +1,9 @@ +2006-06-04 Christian Persch <chpe@cvs.gnome.org> + + * src/bookmarks/ephy-bookmarks.c: (resolve_cb): + + Don't crash on error from zeroconf bookmarks. Fixes bug #343922. + 2006-06-05 Wouter Bolsterlee <uws+gnome@xs4all.nl> * lib/widgets/ephy-location-entry.c: (keyword_match): diff --git a/src/bookmarks/ephy-bookmarks.c b/src/bookmarks/ephy-bookmarks.c index cebc802dc..6d141bcc8 100644 --- a/src/bookmarks/ephy-bookmarks.c +++ b/src/bookmarks/ephy-bookmarks.c @@ -842,16 +842,6 @@ resolve_cb (GnomeVFSDNSSDResolveHandle *handle, gboolean was_immutable; guint i; - /* Find the protocol */ - for (i = 0; i < G_N_ELEMENTS (zeroconf_protos); ++i) - { - char proto[20]; - - g_snprintf (proto, sizeof (proto), "_%s._tcp", zeroconf_protos[i]); - if (strcmp (service->type, proto) == 0) break; - } - if (i == G_N_ELEMENTS (zeroconf_protos)) return; - was_immutable = ephy_node_db_is_immutable (priv->db); ephy_node_db_set_immutable (priv->db, FALSE); @@ -867,6 +857,16 @@ resolve_cb (GnomeVFSDNSSDResolveHandle *handle, return; } + /* Find the protocol */ + for (i = 0; i < G_N_ELEMENTS (zeroconf_protos); ++i) + { + char proto[20]; + + g_snprintf (proto, sizeof (proto), "_%s._tcp", zeroconf_protos[i]); + if (strcmp (service->type, proto) == 0) break; + } + if (i == G_N_ELEMENTS (zeroconf_protos)) return; + if (text != NULL) { path = g_hash_table_lookup (text, "path"); |