summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Frydrych <tf@linux.intel.com>2009-05-05 09:46:36 +0100
committerTomas Frydrych <tf@linux.intel.com>2009-05-05 09:46:36 +0100
commit90c35f8181e5fdc10e70fe7aa17d055ce3aada48 (patch)
tree7ee20a7270ee9e7a5cd6e69c62d2ab0ef4db6f3e
parent2a8c160569c146d436bf94ac0babc46e1f21a7e9 (diff)
downloadmutter-90c35f8181e5fdc10e70fe7aa17d055ce3aada48.tar.gz
Allow the compositor to see ButtonPress events for buttons 4 or 5
-rw-r--r--src/core/display.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/core/display.c b/src/core/display.c
index 919bd28f9..592004745 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1475,14 +1475,7 @@ event_callback (XEvent *event,
modified = event_get_modified_window (display, event);
- if (event->type == ButtonPress)
- {
- /* filter out scrollwheel */
- if (event->xbutton.button == 4 ||
- event->xbutton.button == 5)
- return FALSE;
- }
- else if (event->type == UnmapNotify)
+ if (event->type == UnmapNotify)
{
if (meta_ui_window_should_not_cause_focus (display->xdisplay,
modified))
@@ -1625,7 +1618,18 @@ event_callback (XEvent *event,
meta_display_process_key_event (display, window, event);
break;
case ButtonPress:
- if ((window &&
+ if (event->xbutton.button == 4 || event->xbutton.button == 5)
+ {
+ if (display->compositor && window)
+ {
+ return meta_compositor_process_event (display->compositor,
+ event,
+ window);
+ }
+ else
+ return FALSE;
+ }
+ else if ((window &&
grab_op_is_mouse (display->grab_op) &&
display->grab_button != (int) event->xbutton.button &&
display->grab_window == window) ||