diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index c5b273eb90..89d4f7724a 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -4644,6 +4644,9 @@ pointer_surface_update_scale (GdkDevice *device) return; } + if (!pointer->pointer_surface_outputs) + return; + scale = 1; for (l = pointer->pointer_surface_outputs; l != NULL; l = l->next) { @@ -4653,6 +4656,8 @@ pointer_surface_update_scale (GdkDevice *device) scale = MAX (scale, output_scale); } + if (pointer->current_output_scale == scale) + return; pointer->current_output_scale = scale; if (pointer->cursor)