]> spindle.queued.net Git - midori/commitdiff
Avoid setting the same URI on the item given
authorChristian Dywan <christian@twotoasts.de>
Wed, 7 Dec 2011 22:19:32 +0000 (23:19 +0100)
committerChristian Dywan <christian@twotoasts.de>
Wed, 7 Dec 2011 22:19:32 +0000 (23:19 +0100)
midori/midori-browser.c
midori/midori-view.c

index b82bd2b44f4515a7aa7d1de374c39bdbaea03f4d..71a5476079c20158331ab8340489ebf5f320b201 100644 (file)
@@ -7080,16 +7080,14 @@ gint
 midori_browser_add_uri (MidoriBrowser* browser,
                         const gchar*   uri)
 {
-    GtkWidget* view;
-    gint n;
+    KatzeItem* item;
 
     g_return_val_if_fail (MIDORI_IS_BROWSER (browser), -1);
     g_return_val_if_fail (uri != NULL, -1);
 
-    view = midori_view_new_with_title (NULL, browser->settings, FALSE);
-    n = midori_browser_add_tab (browser, view);
-    midori_view_set_uri (MIDORI_VIEW (view), uri);
-    return n;
+    item = katze_item_new ();
+    item->uri = g_strdup (uri);
+    return midori_browser_add_item (browser, item);
 }
 
 /**
index f55910dcb2c65b60c6e6c34463cdb26c392bd66b..7be958a8402461d94167e154d9016b48d0234f0b 100644 (file)
@@ -3841,7 +3841,6 @@ midori_view_set_uri (MidoriView*  view,
             #endif
 
             katze_assign (view->uri, g_strdup (""));
-            katze_item_set_uri (view->item, "");
 
             if (speeddial_markup == NULL)
                 speeddial_markup = prepare_speed_dial_html (view, TRUE);
@@ -3955,9 +3954,9 @@ midori_view_set_uri (MidoriView*  view,
             webkit_web_view_load_html_string (
                 WEBKIT_WEB_VIEW (view->web_view), data, view->uri);
             g_free (data);
-            katze_item_set_uri (view->item, uri);
+            if (strcmp (view->item->uri, view->uri))
+                katze_item_set_uri (view->item, view->uri);
             g_object_notify (G_OBJECT (view), "uri");
-            return;
         }
         else if (katze_item_get_meta_integer (view->item, "delay") > 0)
         {
@@ -3969,7 +3968,8 @@ midori_view_set_uri (MidoriView*  view,
                 _("Loading delayed either due to a recent crash or startup preferences."),
                 _("Load Page"),
                 NULL);
-            katze_item_set_uri (view->item, uri);
+            if (strcmp (view->item->uri, uri))
+                katze_item_set_uri (view->item, uri);
             g_object_notify (G_OBJECT (view), "uri");
         }
         else if (g_str_has_prefix (uri, "javascript:"))
@@ -3992,7 +3992,8 @@ midori_view_set_uri (MidoriView*  view,
         else
         {
             katze_assign (view->uri, midori_uri_format_for_display (uri));
-            katze_item_set_uri (view->item, uri);
+            if (strcmp (view->item->uri, view->uri))
+                katze_item_set_uri (view->item, view->uri);
             g_object_notify (G_OBJECT (view), "uri");
             webkit_web_view_open (WEBKIT_WEB_VIEW (view->web_view), uri);
         }