wayland/pointer: Return on scroll without client

Return early from handle_scroll_event if no client is focused to avoid
redundant calculations.

Refactor, no functional changes.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1966>
This commit is contained in:
José Expósito 2021-09-20 19:53:39 +02:00 committed by Marge Bot
parent d703ba56c3
commit cea5c47671

View File

@ -721,10 +721,15 @@ handle_scroll_event (MetaWaylandPointer *pointer,
wl_fixed_t x_value = 0, y_value = 0; wl_fixed_t x_value = 0, y_value = 0;
int x_discrete = 0, y_discrete = 0; int x_discrete = 0, y_discrete = 0;
enum wl_pointer_axis_source source = -1; enum wl_pointer_axis_source source = -1;
MetaWaylandPointerClient *client;
if (clutter_event_is_pointer_emulated (event)) if (clutter_event_is_pointer_emulated (event))
return; return;
client = pointer->focus_client;
if (!client)
return;
switch (event->scroll.scroll_source) switch (event->scroll.scroll_source)
{ {
case CLUTTER_SCROLL_SOURCE_WHEEL: case CLUTTER_SCROLL_SOURCE_WHEEL:
@ -780,9 +785,7 @@ handle_scroll_event (MetaWaylandPointer *pointer,
return; return;
} }
if (pointer->focus_client) wl_resource_for_each (resource, &client->pointer_resources)
{
wl_resource_for_each (resource, &pointer->focus_client->pointer_resources)
{ {
int client_version = wl_resource_get_version (resource); int client_version = wl_resource_get_version (resource);
@ -825,7 +828,6 @@ handle_scroll_event (MetaWaylandPointer *pointer,
meta_wayland_pointer_broadcast_frame (pointer); meta_wayland_pointer_broadcast_frame (pointer);
} }
}
gboolean gboolean
meta_wayland_pointer_handle_event (MetaWaylandPointer *pointer, meta_wayland_pointer_handle_event (MetaWaylandPointer *pointer,