[atomix/gnome-3-16] Fixed incorrect arrow click sensitivity (bgo 748406)
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [atomix/gnome-3-16] Fixed incorrect arrow click sensitivity (bgo 748406)
- Date: Sun, 26 Apr 2015 20:21:14 +0000 (UTC)
commit f53a3905e790170b1ad5e7f9dcb0c78c7fe841f2
Author: Robert Roth <robert roth off gmail com>
Date: Sun Apr 26 23:20:59 2015 +0300
Fixed incorrect arrow click sensitivity (bgo 748406)
src/board-gtk.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/src/board-gtk.c b/src/board-gtk.c
index 11d9d38..561ebe6 100644
--- a/src/board-gtk.c
+++ b/src/board-gtk.c
@@ -251,7 +251,6 @@ static gboolean board_handle_arrow_event (GtkWidget *item,
/* is currently an object moved? */
if (anim_data->timeout_id != -1)
return FALSE;
-
if (event->type == GDK_BUTTON_PRESS && selector_data->selected) {
selector_data->mouse_steering = TRUE;
move_item (selector_data->sel_item, GPOINTER_TO_INT (direction));
@@ -487,9 +486,14 @@ static void render_tile (Tile *tile, gint row, gint col) {
}
}
+static void show_sensitive (GtkWidget *widget)
+{
+ gtk_widget_set_visible (widget, gtk_widget_is_sensitive (widget));
+}
+
static gboolean show_arrow_group (SelectorData *data)
{
- g_slist_foreach (data->arrows, (GFunc)gtk_widget_show, NULL);
+ g_slist_foreach (data->arrows, (GFunc)show_sensitive, NULL);
data->arrow_show_timeout = -1;
return FALSE;
@@ -872,12 +876,10 @@ static void check_for_arrow (gint r, gint c, GtkWidget *arrow) {
tile = playfield_get_tile (board_sce, r, c);
- if (tile == NULL)
- gtk_widget_show (arrow);
- else {
- gtk_widget_hide (arrow);
+ gtk_widget_set_sensitive (arrow, tile == NULL);
+
+ if (tile != NULL)
g_object_unref (tile);
- }
}
static void selector_arrows_show (SelectorData *data)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]