[gtk+/gtk-2-18] Fix an infinite loop in gtk_dialog_map()



commit 39039a3500332514cebb72b2b56a5a87b33511a7
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Mar 8 10:36:11 2010 -0500

    Fix an infinite loop in gtk_dialog_map()
    
    The new focus handling with links in labels tripped up the code
    that tries to avoid focussing labels. Bug 612066

 gtk/gtkdialog.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index d463306..554708f 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -414,12 +414,11 @@ gtk_dialog_map (GtkWidget *widget)
 	  if (first_focus == NULL)
 	    first_focus = window->focus_widget;
 	  else if (first_focus == window->focus_widget)
-	    break;
-
+            break;
 	  if (!GTK_IS_LABEL (window->focus_widget))
 	    break;
-	  else
-	    gtk_label_select_region (GTK_LABEL (window->focus_widget), 0, 0);
+          if (!gtk_label_get_current_uri (GTK_LABEL (window->focus_widget)))
+            gtk_label_select_region (GTK_LABEL (window->focus_widget), 0, 0);
 	}
       while (TRUE);
 



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