]> spindle.queued.net Git - midori/commitdiff
NULL placeholder text should unset it (gtk3 compat)
authorChristian Dywan <christian@twotoasts.de>
Thu, 30 Aug 2012 20:00:08 +0000 (22:00 +0200)
committerChristian Dywan <christian@twotoasts.de>
Thu, 30 Aug 2012 20:00:08 +0000 (22:00 +0200)
Fixes: https://bugs.launchpad.net/midori/+bug/1043681
katze/gtk3-compat.c

index 9586aac851aa30afa81b480920187d8014b5293e..d7fd24951e4df16590d75266d6e57f7717e5abe4 100644 (file)
@@ -71,17 +71,15 @@ gtk_entry_set_placeholder_text (GtkEntry*    entry,
                                 const gchar* default_text)
 {
     /* Note: The default text initially overwrites any previous text */
-    gchar* old_value = g_object_get_data (G_OBJECT (entry),
-                                          "sokoke_default_text");
-    g_object_set_data (G_OBJECT (entry), "sokoke_default_text",
-                       (gpointer)default_text);
+    gchar* old_value = g_object_get_data (G_OBJECT (entry), "sokoke_default_text");
+    g_object_set_data (G_OBJECT (entry), "sokoke_default_text", (gpointer)default_text);
 
-    if (!old_value)
+    if (default_text == NULL)
+        g_object_set_data (G_OBJECT (entry), "sokoke_has_default", GINT_TO_POINTER (0));
+    else if (!old_value)
     {
-        g_object_set_data (G_OBJECT (entry), "sokoke_has_default",
-                           GINT_TO_POINTER (1));
-        sokoke_widget_set_pango_font_style (GTK_WIDGET (entry),
-                                            PANGO_STYLE_ITALIC);
+        g_object_set_data (G_OBJECT (entry), "sokoke_has_default", GINT_TO_POINTER (1));
+        sokoke_widget_set_pango_font_style (GTK_WIDGET (entry), PANGO_STYLE_ITALIC);
         gtk_entry_set_text (entry, default_text);
         g_signal_connect (entry, "drag-data-received",
             G_CALLBACK (sokoke_on_entry_drag_data_received), NULL);
@@ -92,13 +90,11 @@ gtk_entry_set_placeholder_text (GtkEntry*    entry,
     }
     else if (!gtk_widget_has_focus (GTK_WIDGET (entry)))
     {
-        gint has_default = GPOINTER_TO_INT (
-            g_object_get_data (G_OBJECT (entry), "sokoke_has_default"));
+        gint has_default = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (entry), "sokoke_has_default"));
         if (has_default)
         {
             gtk_entry_set_text (entry, default_text);
-            sokoke_widget_set_pango_font_style (GTK_WIDGET (entry),
-                                                PANGO_STYLE_ITALIC);
+            sokoke_widget_set_pango_font_style (GTK_WIDGET (entry), PANGO_STYLE_ITALIC);
         }
     }
 }