[gtk+] gtk: don't always invalidate spinbuttons on each leave_notify()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gtk: don't always invalidate spinbuttons on each leave_notify()
- Date: Wed, 16 Feb 2011 17:42:42 +0000 (UTC)
commit 68d176d80bf148f7a391dbc73fb0c9ee4111fa9f
Author: Michael Natterer <mitch gimp org>
Date: Wed Feb 16 18:39:33 2011 +0100
gtk: don't always invalidate spinbuttons on each leave_notify()
but only when an arrow was prelighted. Also, chain up unconditonally
in enter_notify() and leave_notify() because GtkEntry implements them
too.
gtk/gtkspinbutton.c | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
---
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index b1cbf79..3d08753 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -1115,10 +1115,7 @@ gtk_spin_button_enter_notify (GtkWidget *widget,
gtk_widget_queue_draw (GTK_WIDGET (spin));
}
- if (GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->enter_notify_event)
- return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->enter_notify_event (widget, event);
-
- return FALSE;
+ return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->enter_notify_event (widget, event);
}
static gint
@@ -1128,13 +1125,13 @@ gtk_spin_button_leave_notify (GtkWidget *widget,
GtkSpinButton *spin = GTK_SPIN_BUTTON (widget);
GtkSpinButtonPrivate *priv = spin->priv;
- priv->in_child = NO_ARROW;
- gtk_widget_queue_draw (GTK_WIDGET (spin));
-
- if (GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->leave_notify_event)
- return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->leave_notify_event (widget, event);
+ if (priv->in_child != NO_ARROW)
+ {
+ priv->in_child = NO_ARROW;
+ gtk_widget_queue_draw (GTK_WIDGET (spin));
+ }
- return FALSE;
+ return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->leave_notify_event (widget, event);
}
static gint
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]