summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2013-01-30 10:47:37 -0500
committerChris Lumens <clumens@redhat.com>2013-01-31 09:56:12 -0500
commitdd3bc4d292db4f8d20e70775e78b489a414584f4 (patch)
treee4723f51b067e9dd1c8769193bac76e3b00a969c
parent7a5db9aff371d355dff2fc8202dd27e8ee1ab53c (diff)
downloadanaconda-dd3bc4d292db4f8d20e70775e78b489a414584f4.tar.gz
anaconda-dd3bc4d292db4f8d20e70775e78b489a414584f4.tar.xz
anaconda-dd3bc4d292db4f8d20e70775e78b489a414584f4.zip
Ignore double clicks on the DiskOverviews (#902467).
The signal handler was getting called three times on double-click: once for the double-click, once for the first click, and once for the second click. This resulted in the background getting shown as if the disk were selected, even though everything else indicated it was not.
-rw-r--r--widgets/src/DiskOverview.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/widgets/src/DiskOverview.c b/widgets/src/DiskOverview.c
index 3aa2112a9..e3c39f4ed 100644
--- a/widgets/src/DiskOverview.c
+++ b/widgets/src/DiskOverview.c
@@ -250,7 +250,9 @@ gboolean anaconda_disk_overview_clicked(AnacondaDiskOverview *widget, GdkEvent *
/* This handler runs for mouse presses and key releases. For key releases, it only
* runs for activate-type keys (enter, space, etc.).
*/
- if (event->type == GDK_KEY_RELEASE &&
+ if (event->type != GDK_BUTTON_PRESS && event->type != GDK_KEY_RELEASE)
+ return FALSE;
+ else if (event->type == GDK_KEY_RELEASE &&
(event->key.keyval != GDK_KEY_space && event->key.keyval != GDK_KEY_Return &&
event->key.keyval != GDK_KEY_ISO_Enter && event->key.keyval != GDK_KEY_KP_Enter &&
event->key.keyval != GDK_KEY_KP_Space))