[gtk+/gtk-3-0] link-button: Reset the mouse cursor when destroyed



commit 47cbe528f00d6506e1f762882acf4be48dba6135
Author: Bastien Nocera <hadess hadess net>
Date:   Fri Sep 16 15:04:44 2011 +0100

    link-button: Reset the mouse cursor when destroyed
    
    If clicking on a link destroys the link button, and keeps the
    same GdkWindow then the cursor stays as a hand in the rest of
    the interface.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=659247

 gtk/gtklinkbutton.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c
index 2c76ade..261a0e8 100644
--- a/gtk/gtklinkbutton.c
+++ b/gtk/gtklinkbutton.c
@@ -106,6 +106,7 @@ static gboolean gtk_link_button_button_press (GtkWidget        *widget,
 static void     gtk_link_button_clicked      (GtkButton        *button);
 static gboolean gtk_link_button_popup_menu   (GtkWidget        *widget);
 static void     gtk_link_button_style_updated (GtkWidget        *widget);
+static void     gtk_link_button_unrealize    (GtkWidget        *widget);
 static gboolean gtk_link_button_enter_cb     (GtkWidget        *widget,
 					      GdkEventCrossing *event,
 					      gpointer          user_data);
@@ -153,6 +154,7 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
   widget_class->button_press_event = gtk_link_button_button_press;
   widget_class->popup_menu = gtk_link_button_popup_menu;
   widget_class->style_updated = gtk_link_button_style_updated;
+  widget_class->unrealize = gtk_link_button_unrealize;
   
   container_class->add = gtk_link_button_add;
 
@@ -392,6 +394,14 @@ set_hand_cursor (GtkWidget *widget,
 }
 
 static void
+gtk_link_button_unrealize (GtkWidget *widget)
+{
+  set_hand_cursor (widget, FALSE);
+
+  GTK_WIDGET_CLASS (gtk_link_button_parent_class)->unrealize (widget);
+}
+
+static void
 popup_menu_detach (GtkWidget *attach_widget,
 		   GtkMenu   *menu)
 {



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