[gtk+] label: Don't use the selection too easily



commit ad1c0f7155b034a74ffaa54989ea1c96fb2ba86d
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Mar 20 01:05:05 2012 -0400

    label: Don't use the selection too easily
    
    When we are re-setting the same text for internal reasons
    (e.g. when applying the mnemonics-visible change upon Alt press),
    we should not needlessly loos the selection.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=671588

 gtk/gtklabel.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 050f46e..14c0f88 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -1979,15 +1979,18 @@ gtk_label_get_mnemonic_keyval (GtkLabel *label)
 
 static void
 gtk_label_set_text_internal (GtkLabel *label,
-			     gchar    *str)
+                             gchar    *str)
 {
   GtkLabelPrivate *priv = label->priv;
+  gboolean text_changed;
 
-  g_free (priv->text);
+  text_changed = g_strcmp0 (priv->text, str) != 0;
 
+  g_free (priv->text);
   priv->text = str;
 
-  gtk_label_select_region_index (label, 0, 0);
+  if (text_changed)
+    gtk_label_select_region_index (label, 0, 0);
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]