From d1f7a894674dfdd6769f1bbae31eb1a69e451a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 16 Nov 2012 22:07:28 +0100 Subject: [PATCH] GtkButton: do not prelight in touchscreen mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Code was copied from GtkToggleButton. Upstream-Status: submitted [1] [1] https://bugzilla.gnome.org/show_bug.cgi?id=689138 Signed-off-by: Andreas Müller --- gtk/gtkbutton.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index f472007..1beb1b6 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -2079,15 +2079,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; -- 1.7.6.5