GtkButton: do not prelight in touchscreen mode

Code was copied from GtkToggleButton.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=689138
This commit is contained in:
Andreas Müller
2012-11-16 22:07:28 +01:00
committed by Matthias Clasen
parent 6a6885c5c0
commit 0b5b2779a2

View File

@@ -2066,15 +2066,19 @@ _gtk_button_set_depressed (GtkButton *button,
static void
gtk_button_update_state (GtkButton *button)
{
gboolean depressed;
gboolean depressed, touchscreen;
GtkStateType new_state;
g_object_get (gtk_widget_get_settings (GTK_WIDGET (button)),
"gtk-touchscreen-mode", &touchscreen,
NULL);
if (button->activate_timeout)
depressed = button->depress_on_activate;
else
depressed = button->in_button && button->button_down;
if (button->in_button && (!button->button_down || !depressed))
if (!touchscreen && button->in_button && (!button->button_down || !depressed))
new_state = GTK_STATE_PRELIGHT;
else
new_state = depressed ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL;