Fix 'mono' package typo
[mono.git] / bockbuild / mac-sdk / patches / gtk / 0033-Never-intervene-in-the-event-stream-for-legacy-mice.patch
1 From 4eab270368617383e2e287c434f71e037e686047 Mon Sep 17 00:00:00 2001
2 From: Kristian Rietveld <kris@lanedo.com>
3 Date: Sun, 17 Feb 2013 13:06:59 +0100
4 Subject: [PATCH 33/68] Never intervene in the event stream for legacy mice
5
6 This is necessary for devices (e.g. Mighty Mouse) which do emit
7 precise deltas but no phase.
8 ---
9  gdk/gdkwindow.c |   10 +++++++++-
10  1 file changed, 9 insertions(+), 1 deletion(-)
11
12 diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
13 index 7a3732c..2db0c0b 100644
14 --- a/gdk/gdkwindow.c
15 +++ b/gdk/gdkwindow.c
16 @@ -10849,12 +10849,20 @@ proxy_button_event (GdkEvent *source_event,
17     */
18    if (type == GDK_SCROLL && source_event->scroll.has_deltas)
19      {
20 +      gboolean legacy_mouse =
21 +          source_event->scroll.phase == GDK_EVENT_SCROLL_PHASE_NONE &&
22 +          source_event->scroll.momentum_phase == GDK_EVENT_SCROLL_PHASE_NONE;
23 +
24        if (source_event->scroll.phase == GDK_EVENT_SCROLL_PHASE_START)
25          {
26            set_last_scroll_event_windows (display, pointer_window, event_win);
27          }
28 -      else
29 +      else if (!legacy_mouse)
30          {
31 +          /* Never override pointer and event windows for legacy devices
32 +           * which are not capable of momentum scrolling. (The windows
33 +           * will be NULL, because they have never been set).
34 +           */
35            pointer_window = g_object_get_qdata (G_OBJECT (display),
36                                                 quark_last_scroll_pointer_window);
37            event_win = g_object_get_qdata (G_OBJECT (display),
38 --
39 1.7.10.2 (Apple Git-33)