[Xfce4-commits] <midori:master> NULL check the key before rendering suggestions

Christian Dywan noreply at xfce.org
Thu Feb 4 02:46:01 CET 2010


Updating branch refs/heads/master
         to c273d6c73aa2b048351813abefe6a2ff8d21e54e (commit)
       from 94aebbf1fe31a318391cee8c6d2e4e5ef8f9fd29 (commit)

commit c273d6c73aa2b048351813abefe6a2ff8d21e54e
Author: Alexander Butenko <a.butenka at gmail.com>
Date:   Thu Feb 4 02:40:59 2010 +0100

    NULL check the key before rendering suggestions

 midori/midori-locationaction.c |   22 ++++++++++------------
 1 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/midori/midori-locationaction.c b/midori/midori-locationaction.c
index 77ecb60..596e3f7 100644
--- a/midori/midori-locationaction.c
+++ b/midori/midori-locationaction.c
@@ -997,6 +997,7 @@ midori_location_entry_render_text_cb (GtkCellLayout*   layout,
     gchar* desc_uri;
     gchar* desc_title;
     GtkWidget* entry;
+    const gchar* str;
     gchar* key;
     gchar* start;
     gchar* skey;
@@ -1009,26 +1010,27 @@ midori_location_entry_render_text_cb (GtkCellLayout*   layout,
     gtk_tree_model_get (model, iter, URI_COL, &uri, TITLE_COL, &title, -1);
 
     desc = desc_uri = desc_title = key = NULL;
-    key = g_utf8_strdown (gtk_entry_get_text (GTK_ENTRY (entry)), -1);
-    len = 0;
+    str = gtk_entry_get_text (GTK_ENTRY (entry));
+    if (!str)
+        return;
+
+    key = g_utf8_strdown (str, -1);
+    len = strlen (key);
 
     if (G_LIKELY (uri))
     {
         temp = g_utf8_strdown (uri, -1);
         if ((start = strstr (temp, key)) && (start - temp))
         {
-            len = strlen (key);
             skey = g_strndup (uri + (start - temp), len);
             parts = g_strsplit (uri, skey, 2);
             if (parts[0] && parts[1])
                 desc_uri = g_markup_printf_escaped ("%s<b>%s</b>%s",
                     parts[0], skey, parts[1]);
-            else
-                desc_uri = g_markup_escape_text (uri, -1);
             g_strfreev (parts);
             g_free (skey);
         }
-        else
+        if (!desc_uri)
             desc_uri = g_markup_escape_text (uri, -1);
         g_free (temp);
     }
@@ -1038,19 +1040,15 @@ midori_location_entry_render_text_cb (GtkCellLayout*   layout,
         temp = g_utf8_strdown (title, -1);
         if ((start = strstr (temp, key)) && (start - temp))
         {
-            if (!len)
-                len = strlen (key);
             skey = g_strndup (title + (start - temp), len);
             parts = g_strsplit (title, skey, 2);
-            if (parts && parts[0] && parts[1])
+            if (parts[0] && parts[1])
                 desc_title = g_markup_printf_escaped ("%s<b>%s</b>%s",
                     parts[0], skey, parts[1]);
-            else
-                desc_title = g_markup_escape_text (title, -1);
             g_strfreev (parts);
             g_free (skey);
         }
-        else
+        if (!desc_title)
             desc_title = g_markup_escape_text (title, -1);
         g_free (temp);
     }



More information about the Xfce4-commits mailing list