gtk2/gdk
wisp3rwind 992f092968 wayland: avoid set_cursor() when unchanged or invisible
In pointer_surface_update_scale(), only rescale the cursor surface when
the scale has actually changed and the cursor is on at least one output.

fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3350

Right now, this issue is not completely understood, so it might also
involve some questionable handling of cursor surface by sway/wlroots.

However, irrespective of that issue, this patch avoids unnecessary calls to the
compositor, and there should be no drawback: Whenever the pointer enters
a new output, pointer_surface_update_scale() will be called again, such
that correct scaling of the cursor is still ensured.

There is a slight difference: When the cursor leaves the last output,
previously the image was reset to scale factor 1. Now, it keeps whatever
was last. That might be more sensible than the previous behaviour,
assuming that it's likely that when the cursor enter an output again, it
has the same scaling. Alternatively, if one cares about resource usage
at this level, it might make more sense to destroy the surface than
rescaling to 1.
2021-01-09 11:42:59 +01:00
..
broadway gdk/toplevellayout: Change API to be about intent, not full state 2020-12-16 14:16:08 +01:00
macos macos: keep array of pasteboard types 2021-01-05 16:21:05 -08:00
resources/glsl Use GLSL version 110 for OpenGL 2 shaders. 2016-11-01 15:42:46 -03:00
wayland wayland: avoid set_cursor() when unchanged or invisible 2021-01-09 11:42:59 +01:00
win32 gdk/toplevellayout: Change API to be about intent, not full state 2020-12-16 14:16:08 +01:00
x11 seat: improve api to take into account the tool type 2021-01-07 12:50:48 +01:00
COPYING Change FSF Address 2012-02-27 17:06:11 +00:00
default_cursor.png gdk: Include a default cursor as resource 2020-04-26 14:41:52 -04:00
filetransferportal.c filechooser portal: Free portal proxy when bus connection closes 2020-02-04 14:08:10 +01:00
filetransferportalprivate.h Tweak the file transfer portal _again_ 2020-01-17 23:46:37 -05:00
gdk-autocleanup.h gdk: Make GdkKeymap a private api 2020-04-06 16:32:03 -04:00
gdk-private.h gtk/window: Let the backend handle toplevel freezing 2020-12-07 09:46:39 +01:00
gdk.c Always parse GTK/GDK/GSK_DEBUG env vars and make some entries available in non-debug mode 2020-11-15 11:34:54 +01:00
gdk.h gdk/toplevel: Negotiate surface size via a compute-size signal 2020-08-05 15:49:00 +02:00
gdkapplaunchcontext.c Replace "gchar" with "char" 2020-07-25 00:47:36 +02:00
gdkapplaunchcontext.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkapplaunchcontextprivate.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkarrayimpl.c gdkarray: Add a "stolen" boolean to splice() 2020-12-24 06:38:45 +01:00
gdkcairo.c Replace "gdouble" with "double" 2020-07-25 00:47:36 +02:00
gdkcairo.h Drop gdk_cairo_surface_upload_to_gl() helper 2020-09-25 15:00:07 +02:00
gdkcairocontext.c *: Fix spelling mistakes found by codespell 2020-08-21 15:29:34 +02:00
gdkcairocontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcairocontextprivate.h gdkcairocontext*.h: Include cairo.h consistently 2018-05-15 13:49:45 +08:00
gdkcairoprivate.h gdkcairoprivate: Fix header guard 2020-08-29 11:11:29 +02:00
gdkclipboard.c Add some missing nullable return annotations 2020-10-17 15:32:36 +02:00
gdkclipboard.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkclipboardprivate.h gdk: Change some async clipboard api 2019-04-02 15:10:53 +00:00
gdkconfig.h.meson macos: prototype new GDK backend for macOS 2020-07-21 14:45:12 -07:00
gdkconfig.h.win32 Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconfig.h.win32_vulkan Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconstructor.h gdk: Include copy of glib/gconstructor.h 2019-03-17 21:29:59 +01:00
gdkcontentdeserializer.c contentdeserializer: Add some missing annotations 2020-08-06 20:02:33 -04:00
gdkcontentdeserializer.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcontentformats.c Add some missing nullable return annotations 2020-10-17 15:32:36 +02:00
gdkcontentformats.h contentformats: Constify some functions 2020-03-02 04:43:56 +01:00
gdkcontentformatsprivate.h gdk: Sanitize GdkContentFormats API 2017-11-20 23:15:11 +01:00
gdkcontentprovider.c docs: Fix several missing references in the documentation 2020-05-11 19:26:20 +02:00
gdkcontentprovider.h docs: Annotate the GdkContentProviderClass structure 2020-12-01 13:38:12 +00:00
gdkcontentproviderimpl.c *: Fix spelling mistakes found by codespell 2020-08-21 15:29:34 +02:00
gdkcontentproviderimpl.h Remove gdk_content_provider_new_with_formats() 2020-02-18 02:40:00 +01:00
gdkcontentproviderprivate.h clipboard: Introduce GdkContentProvider 2017-12-03 05:46:47 +01:00
gdkcontentserializer.c contentserializer: Don't send the terminating \0 byte for strings 2020-09-11 17:25:02 +02:00
gdkcontentserializer.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcursor.c Cosmetics 2020-11-04 23:36:09 -05:00
gdkcursor.h Cosmetics 2020-10-29 07:40:30 -04:00
gdkcursorprivate.h gdk: Add gdk_cursor_hash() and gdk_cursor_equal() 2017-11-04 00:07:13 +01:00
gdkdebug.h gdk: Slim down gdkinternals.h more 2020-08-14 07:45:53 -04:00
gdkdevice.c gdkdevice: use g_set_object to set the associated device 2021-01-07 16:13:39 +01:00
gdkdevice.h Annotate GdkTimeCoord's array field 2020-11-17 14:07:11 +00:00
gdkdevicepad.c docs: Clean up dangling links in gdk docs 2020-08-05 15:45:43 -04:00
gdkdevicepad.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkdevicepadprivate.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkdeviceprivate.h x11: Remove handling of 'substructure' events 2020-12-07 09:46:39 +01:00
gdkdevicetool.c Document gdk_device_tool_get_axes 2020-07-28 21:58:06 -04:00
gdkdevicetool.h docs: Annotate GdkDeviceTool 2020-12-01 15:51:52 +00:00
gdkdevicetoolprivate.h gdk: Pass hardware ID on gdk_device_tool_new() 2016-08-23 21:01:44 +02:00
gdkdisplay.c Add some missing nullable return annotations 2020-10-17 15:32:36 +02:00
gdkdisplay.h gdk: Move default group api to the X11 backend 2020-07-29 22:58:37 -04:00
gdkdisplaymanager.c gdk: remove remaining GDK_WINDOWING_QUARTZ usage 2020-10-29 13:57:28 -07:00
gdkdisplaymanager.h Replace "gchar" with "char" 2020-07-25 00:47:36 +02:00
gdkdisplaymanagerprivate.h gdk: Unvfuncify gdk_display_manager_open_display() 2013-04-19 16:23:43 -04:00
gdkdisplayprivate.h gdk: Drop some unused private api 2020-10-07 21:02:22 -04:00
gdkdrag.c docs: Clean up dangling links in gdk docs 2020-08-05 15:45:43 -04:00
gdkdrag.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkdragprivate.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkdragsurface.c docs: Add missing GdkDragSurfaceInterface gtk-doc annotation 2020-12-02 19:05:41 +00:00
gdkdragsurface.h Annotation fixes 2020-04-03 15:30:56 +01:00
gdkdragsurfaceprivate.h Add a GdkDragSurface interface 2020-03-12 14:56:21 -04:00
gdkdrawcontext.c docs: Cosmetics 2021-01-05 08:37:23 -05:00
gdkdrawcontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkdrawcontextprivate.h drawcontext: Only pass the region that matters 2018-04-24 23:16:58 +02:00
gdkdrop.c drop: Don't leak the surface and formats 2020-08-06 20:02:33 -04:00
gdkdrop.h drop: Remove unused convenience APIs 2020-03-02 04:43:56 +01:00
gdkdropprivate.h gdk: Make gdk_drop_status() take preferred action 2020-03-02 04:43:56 +01:00
gdkenumtypes.c.template types: fix various use of volatile in type registration 2020-11-18 20:21:33 -08:00
gdkenumtypes.h.template Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkevents.c Merge branch 'wip/chergert/volatile-fixes' into 'master' 2020-12-29 07:49:12 +00:00
gdkevents.h gdk: Replace all GDK_CONFIGURE usage with GdkSurface::layout 2020-12-07 20:37:29 +01:00
gdkeventsprivate.h main: Add & use gdk_event_dup_axes() 2020-12-21 10:26:02 +01:00
gdkframeclock.c gdk/frame-clock: Remove the newly added 'compute-size' phase 2020-12-07 09:46:39 +01:00
gdkframeclock.h gdk/frame-clock: Remove the newly added 'compute-size' phase 2020-12-07 09:46:39 +01:00
gdkframeclockidle.c gdk/frame-clock: Remove the newly added 'compute-size' phase 2020-12-07 09:46:39 +01:00
gdkframeclockidleprivate.h frameclockidle: Rename header so it's private now 2018-03-29 05:02:15 +02:00
gdkframeclockprivate.h gdk/frame-clock: Remove the newly added 'compute-size' phase 2020-12-07 09:46:39 +01:00
gdkframetimings.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkframetimings.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkgl.c gl: Fix implicit leaking of shader object 2020-12-29 23:50:45 +08:00
gdkglcontext.c gdkglcontext: Fix build with MSVC 2020-10-19 09:17:53 -04:00
gdkglcontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkglcontextprivate.h gl: remove unused texture_from_surface API 2020-10-29 08:26:27 -07:00
gdkglobals.c gdk: Remove an unused variable 2020-10-01 19:33:43 -04:00
gdkgltexture.c gl texture: fix a typo 2019-01-23 22:33:44 -05:00
gdkgltexture.h docs: Annotate GdkGLTexture 2020-12-01 13:48:07 +00:00
gdkgltextureprivate.h texture: Expose subclasses as subclasses 2018-03-18 05:57:07 +01:00
gdkinternals.h gdk: Slim down gdkinternals.h more 2020-08-14 07:45:53 -04:00
gdkintl.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkkeynames.c Replace "gchar" with "char" 2020-07-25 00:47:36 +02:00
gdkkeys.c Replace "gchar" with "char" 2020-07-25 00:47:36 +02:00
gdkkeys.h Replace "gchar" with "char" 2020-07-25 00:47:36 +02:00
gdkkeysprivate.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkkeysyms-update.pl docs: Fix GTK links and locations 2019-02-06 10:39:27 +01:00
gdkkeysyms.h gdk: Update gdkkeysyms.h 2020-07-21 16:55:28 -04:00
gdkkeyuni.c gdk: Clarify the docs of gdk_keyval_to_unicode 2020-06-22 13:24:34 -04:00
gdkmarshalers.list surface: Add marshallers for new events 2019-05-28 19:19:24 +02:00
gdkmemorytexture.c gl backend: Avoid roundtripping via surface when updloading 2020-09-25 10:04:48 +02:00
gdkmemorytexture.h docs: Annotate GdkMemoryTexture 2020-12-01 13:47:56 +00:00
gdkmemorytextureprivate.h gl backend: Avoid roundtripping via surface when updloading 2020-09-25 10:04:48 +02:00
gdkmonitor.c gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area 2020-07-29 17:57:30 +02:00
gdkmonitor.h gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area 2020-07-29 17:57:30 +02:00
gdkmonitorprivate.h gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area 2020-07-29 17:57:30 +02:00
gdkpaintable.c docs: Tweak GdkPaintable docs 2020-10-29 14:23:46 -04:00
gdkpaintable.h docs: Annotate GdkPaintable 2020-12-01 13:44:51 +00:00
gdkpango.c Clean up lots of GTK+ -> GTK 2020-09-12 12:01:04 -04:00
gdkpango.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkpipeiostream.c Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkpipeiostreamprivate.h clipboard: Implement local fallback clipboard transfers 2017-12-03 05:46:47 +01:00
gdkpixbuf-drawable.c gdkpixbuf-drawable: Free the pixbuf on Cairo error 2020-12-14 15:07:41 +01:00
gdkpixbuf.h Replace "gint" with "int" 2020-07-25 00:47:36 +02:00
gdkpopup.c popup: Documentation tweaks 2020-12-07 20:37:30 +01:00
gdkpopup.h docs: Annotate GdkPopup 2020-12-01 13:42:07 +00:00
gdkpopuplayout.c popup: Mention the popover arrow in the docs 2021-01-05 10:59:59 -05:00
gdkpopuplayout.h gdk: Documentation fixups 2020-06-05 20:59:51 -04:00
gdkpopupprivate.h Introduce GdkPopup 2020-03-11 19:35:55 -04:00
gdkprofiler.c Port tracing to the sysprof collector api 2020-08-21 10:55:01 -04:00
gdkprofilerprivate.h Port tracing to the sysprof collector api 2020-08-21 10:55:01 -04:00
gdkrectangle.c gdk: Drop GdkPoint from the api 2020-10-29 14:23:46 -04:00
gdkrectangle.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkrgba.c docs: Cosmetics 2020-10-29 14:23:46 -04:00
gdkrgba.h Replace "gchar" with "char" 2020-07-25 00:47:36 +02:00
gdkrgbaprivate.h build: Add more useful warning flags 2020-03-05 07:56:28 +01:00
gdkseat.c seat: improve api to take into account the tool type 2021-01-07 12:50:48 +01:00
gdkseat.h gdkseat: Make gdk_seat_get_tools() public 2020-10-08 16:22:05 +02:00
gdkseatdefault.c seatdefault: use g_clear_pointer to unref the tools 2021-01-08 13:11:56 +01:00
gdkseatdefaultprivate.h Rename master and slave device 2020-06-18 19:22:20 +01:00
gdkseatprivate.h seat: improve api to take into account the tool type 2021-01-07 12:50:48 +01:00
gdksnapshot.c snapshot: Turn into GObject 2018-03-18 19:21:33 +01:00
gdksnapshot.h docs: Annotate GdkSnapshot 2020-12-01 13:41:28 +00:00
gdksnapshotprivate.h snapshot: Turn into GObject 2018-03-18 19:21:33 +01:00
gdksurface.c Add a doc comment for gdk_surface_request_layout 2020-12-15 14:14:49 -05:00
gdksurface.h gdk: Always get shadow width via GdkToplevelSize 2020-12-07 09:46:39 +01:00
gdksurfaceprivate.h gdk/surface: Delay gdk_surface_request_motion() requests internally 2020-12-08 23:27:03 +01:00
gdktexture.c docs: Add some detail to GdkTexture docs 2020-10-29 14:23:46 -04:00
gdktexture.h Add pure and const annotations to various functions 2020-01-26 18:21:07 +01:00
gdktextureprivate.h texture: Unvirtualize download_surface 2020-09-25 09:31:43 +02:00
gdktoplevel.c gdk: Replace 'WITHDRAWN' state with async 'is-mapped' boolean 2020-12-07 20:37:30 +01:00
gdktoplevel.h gdk: Replace 'WITHDRAWN' state with async 'is-mapped' boolean 2020-12-07 20:37:30 +01:00
gdktoplevellayout.c gdk/toplevellayout: Change API to be about intent, not full state 2020-12-16 14:16:08 +01:00
gdktoplevellayout.h gdk: Use correct parameter name to fix g-ir-scanner warning 2020-12-16 20:19:05 +01:00
gdktoplevelprivate.h gdk/toplevel: Make gdk_toplevel_present() async 2020-12-07 09:46:39 +01:00
gdktoplevelsize.c gdk/toplevelsize: Rename 'margin' to 'shadow' and 'shadow_width' 2020-12-07 20:37:29 +01:00
gdktoplevelsize.h gdk/toplevelsize: Rename 'margin' to 'shadow' and 'shadow_width' 2020-12-07 20:37:29 +01:00
gdktoplevelsizeprivate.h gdk/toplevelsize: Rename 'margin' to 'shadow' and 'shadow_width' 2020-12-07 20:37:29 +01:00
gdktypes.h gdk: Drop GdkPoint from the api 2020-10-29 14:23:46 -04:00
gdkversionmacros.h.in docs: Complete symbol coverage for GDK 2020-12-16 16:28:58 +00:00
gdkvulkancontext.c Fix the Vulkan header check for VK_RESULT_RANGE_SIZE 2020-12-28 18:41:18 +00:00
gdkvulkancontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkvulkancontextprivate.h vulkan: Fix release builds 2018-01-21 15:23:17 +01:00
gen-gdk-gresources-xml.py gdk: Include a default cursor as resource 2020-04-26 14:41:52 -04:00
gen-keyname-table.pl
keyname-table.h gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames-translate.txt gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames.txt Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
meson.build build: Use a consistent style for Meson files 2020-12-15 12:46:59 +00:00