[gtk+/composite-templates] button: Clear highlight when a button is removed from a container
- From: Juan Pablo Ugarte <jpu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/composite-templates] button: Clear highlight when a button is removed from a container
- Date: Sat, 6 Oct 2012 16:56:07 +0000 (UTC)
commit 840ccecc60d9dd954fae9b7104f26e05619f7ae2
Author: SÃbastien Granjoux <seb sfo free fr>
Date: Sat May 26 22:32:07 2012 +0200
button: Clear highlight when a button is removed from a container
A button is highlighted if the private variable in_button is TRUE.
This variable is set when the pointer is over the button and cleared when
it left the button. When a button is hidden while there is the pointer over
it, GTK generates a leave notification event, in_button is set to FALSE.
But when a button is removed from a container but not destroyed, it is
unrealized and loose its window. It cannot receive the leave notification
event and in_button stay TRUE. So when the button get a new parent it is still
highlighted.
https://bugzilla.gnome.org/show_bug.cgi?id=676890
gtk/gtkbutton.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 621cd4f..824f498 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -1461,7 +1461,10 @@ gtk_button_unmap (GtkWidget *widget)
GtkButtonPrivate *priv = button->priv;
if (priv->event_window)
- gdk_window_hide (priv->event_window);
+ {
+ gdk_window_hide (priv->event_window);
+ priv->in_button = FALSE;
+ }
GTK_WIDGET_CLASS (gtk_button_parent_class)->unmap (widget);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]