49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
From d1f7a894674dfdd6769f1bbae31eb1a69e451a5c Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
|
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 <schnitzeltony@googlemail.com>
|
|
---
|
|
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
|
|
|