gtk/gdk
Carlos Garnacho 4168c3cab9 gdk: be more selective resetting scroll events
It's been reported in several applications that scrolling feels jerky
since commit cc7b3985b3.

Investigation reported that the combination of passive 4-7 button grabs
on the toplevel and the presence of native subwindows might trigger
too often crossing events from the child window to the toplevel and
back as scroll "buttons" trigger the passive grab. Those crossing events
would reset the scroll valuators rendering scrolling from jerky on
touchpads (where there's intermediate smooth events between the emulated
button ones) to ineffective on regular mouse wheels (where the crossing
event would reset the valuators right before the single smooth scroll
event we get is delivered)

So, only reset scroll valuators when the pointer enters the toplevel
(we only care about this when the pointer is on the window after it's
been possibly scrolling somewhere else), and it doesn't come from an
inferior.

The situations where this happened varied though, the native subwindow
could be one created explicitly by the application, or created indirectly
through gdk_window_ensure_native(). The latter was mainly the case for
evolution (through gtk_selection_set_owner()) and any GtkScrolledWindow
under the oxygen-gtk3 theme (through gdk_window_set_composited())

https://bugzilla.gnome.org/show_bug.cgi?id=699574
2013-11-17 00:42:18 +01:00
..
broadway broadway: Improve touch events 2013-11-14 11:05:16 +01:00
quartz Quartz: Set the shows-desktop platform setting 2013-11-15 07:50:37 -05:00
wayland Add a GtkSetting for 'shell-shows-desktop' 2013-11-14 15:03:04 -05:00
win32 Win32: Set the shows-desktop platform setting 2013-11-15 07:51:22 -05:00
x11 gdk: be more selective resetting scroll events 2013-11-17 00:42:18 +01:00
COPYING Change FSF Address 2012-02-27 17:06:11 +00:00
fallback-c89.c gdk/fallback-c89.c: Add fallback for round() 2013-03-13 13:22:46 +08:00
gdk.c Fix GI warnings 2013-10-09 14:19:54 -04:00
gdk.h Include public headers in gdk.h 2013-02-25 10:54:32 +01:00
gdkapplaunchcontext.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkapplaunchcontext.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkapplaunchcontextprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkcairo.c gdkcairo: Actually paint the pixbuf 2013-09-24 17:43:44 +02:00
gdkcairo.h gdk: Add gdk_cairo_surface_create_from_pixbuf 2013-07-03 14:34:13 +02:00
gdkcolor.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkcolor.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkconfig.h.win32 Clean up the pre-configured gdkconfig.h.win32 2013-05-28 13:04:37 +08:00
gdkconfig.h.win32_broadway Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gdkcursor.c Fix up docs for new cursor apis 2013-08-09 20:24:44 -04:00
gdkcursor.h gdk: Add gdk_cursor_new_from_surface 2013-08-07 13:34:10 +02:00
gdkcursorprivate.h gdk: Add gdk_cursor_get_surface() 2013-08-07 13:34:10 +02:00
gdkdeprecated.c gdk: Ignore headers for declared functions 2012-10-06 15:55:30 -04:00
gdkdevice.c gdk: Document event compression better 2013-11-16 01:50:53 +01:00
gdkdevice.h gdk: Convert mouse position to doubles, add new getters 2013-07-03 14:39:25 +02:00
gdkdevicemanager.c Fix a typo 2013-05-09 12:03:09 -04:00
gdkdevicemanager.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdevicemanagerprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkdeviceprivate.h gdk: Convert mouse position to doubles, add new getters 2013-07-03 14:39:25 +02:00
gdkdisplay.c Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkdisplay.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdisplaymanager.c Revert "Try Wayland before X11" 2013-09-16 08:24:39 -04:00
gdkdisplaymanager.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdisplaymanagerprivate.h gdk: Unvfuncify gdk_display_manager_open_display() 2013-04-19 16:23:43 -04:00
gdkdisplayprivate.h Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkdnd.c Documentation fixes 2013-09-17 01:13:03 -04:00
gdkdnd.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdndprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkenumtypes.c.template Include config.h in gdkenumtypes.c.template 2013-03-15 09:19:35 -04:00
gdkenumtypes.h.template Use GDK_AVAILABLE_IN_ALL for generated enum types 2013-05-05 15:38:46 -04:00
gdkevents.c Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkevents.h gdkevents.h: Mention _get_source_device() 2013-10-15 21:31:53 -04:00
gdkframeclock.c gdk: Use new macros for defining private data 2013-07-09 09:28:49 +01:00
gdkframeclock.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkframeclockidle.c all: Add names to timeouts 2013-10-23 13:31:18 +02:00
gdkframeclockidle.h Change GdkFrameClock from an interface to a class 2013-02-14 17:19:52 -05:00
gdkframeclockprivate.h Add gdk_frame_clock_begin/end_updating() 2013-02-18 17:14:24 +01:00
gdkframetimings.c Fix a few more doc issues 2013-02-25 10:57:34 +01:00
gdkframetimings.h GdkFrameTimings: add documentation 2013-02-14 17:19:52 -05:00
gdkglobals.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkinternals.h Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkintl.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkkeynames.c Keep XF86 keysym names working 2013-04-19 20:11:39 -04:00
gdkkeys.c gdk: Unvfuncify generic key functions 2013-04-16 15:30:14 +02:00
gdkkeys.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkkeysprivate.h gdk: Refactor gdk_keyval_convert_case() 2013-04-16 15:30:14 +02:00
gdkkeysyms-compat.h Update gdkkeysyms.h header 2013-04-19 20:11:38 -04:00
gdkkeysyms-update.pl gdkkeysyms-update: Remove workarounds for old bugs 2013-07-17 16:40:05 -04:00
gdkkeysyms.h Update gdkkeysyms.h header 2013-04-19 20:11:38 -04:00
gdkkeyuni.c gdk: Ignore headers for declared functions 2012-10-06 15:55:30 -04:00
gdkmain.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkmarshalers.list Bug 631599 - Allow to use arbitrary surfaces for offscreen windows 2010-10-14 13:25:23 +02:00
gdkoffscreenwindow.c gdk/gdkoffscreenwindow.c: Include fallback-c89.c 2013-07-19 18:33:42 +08:00
gdkpango.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkpango.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkpixbuf-drawable.c gdk_pixbuf_get_from_source: only reuse surfaces with matching format 2013-09-06 18:50:07 +03:00
gdkpixbuf.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkprivate.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkproperty.c docs: Move property section docs to correct file 2013-04-16 15:30:14 +02:00
gdkproperty.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkrectangle.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkrectangle.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkrgba.c GdkRgba: Fix 'loose' typo 2013-05-23 20:53:30 +02:00
gdkrgba.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkscreen.c GdkScreen: Return 1, not 1.0 for the (int) scale factor 2013-08-26 21:17:45 +02:00
gdkscreen.h add gdk_screen_ and gdk_window_get_scale_factor() 2013-07-03 12:27:10 +02:00
gdkscreenprivate.h add gdk_screen_ and gdk_window_get_scale_factor() 2013-07-03 12:27:10 +02:00
gdkselection.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkselection.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdktestutils.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkthreads.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdktypes.h gdk: Document event compression better 2013-11-16 01:50:53 +01:00
gdkversionmacros.h.in Introduce version macros for 3.12 2013-09-23 18:55:28 -04:00
gdkvisual.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkvisual.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkvisualprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkwindow.c Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkwindow.h Add an event_compression setting to GdkWindow 2013-11-09 00:01:05 -05:00
gdkwindowimpl.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkwindowimpl.h gdk: Add opaque region setters 2013-08-28 10:33:57 -04:00
gdkx.h Change FSF Address 2012-02-27 17:06:11 +00:00
gen-keyname-table.pl gdk: Make gen-keyname-table.pl work again 2011-10-26 10:36:43 +01:00
keyname-table.h Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
keynames-translate.txt Add AudioMicMute 2013-07-17 17:52:19 -04:00
keynames.txt Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
Makefile.am Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
makefile.msc win32: gdk3 resurrection 2011-01-02 13:33:04 +01:00