wayland: Use wl_compositor_get_version()

Wayland has functions to check versions, so use those.
This commit is contained in:
Benjamin Otte 2023-04-01 01:28:46 +02:00
parent c97b489316
commit c7499a33fd
4 changed files with 4 additions and 6 deletions

View File

@ -370,7 +370,6 @@ gdk_registry_handle_global (void *data,
display_wayland->compositor =
wl_registry_bind (display_wayland->wl_registry, id,
&wl_compositor_interface, MIN (version, 5));
display_wayland->compositor_version = MIN (version, 4);
}
else if (strcmp (interface, "wl_shm") == 0)
{

View File

@ -133,7 +133,6 @@ struct _GdkWaylandDisplay
GSource *event_source;
int compositor_version;
int seat_version;
int data_device_manager_version;
int gtk_shell_version;

View File

@ -3771,7 +3771,7 @@ pointer_surface_update_scale (GdkDevice *device)
guint32 scale;
GSList *l;
if (display_wayland->compositor_version < WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
if (wl_compositor_get_version (display_wayland->compositor) < WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
{
/* We can't set the scale on this surface */
return;

View File

@ -426,7 +426,7 @@ gdk_wayland_surface_update_scale (GdkSurface *surface)
guint32 scale;
GSList *l;
if (display_wayland->compositor_version < WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
if (wl_compositor_get_version (display_wayland->compositor) < WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
{
/* We can't set the scale on this surface */
return;
@ -524,7 +524,7 @@ _gdk_wayland_display_create_surface (GdkDisplay *display,
g_object_ref (surface);
/* More likely to be right than just assuming 1 */
if (display_wayland->compositor_version >= WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
if (wl_compositor_get_version (display_wayland->compositor) >= WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
{
GdkMonitor *monitor = g_list_model_get_item (gdk_display_get_monitors (display), 0);
if (monitor)
@ -792,7 +792,7 @@ gdk_wayland_surface_sync_buffer_scale (GdkSurface *surface)
/* Only set the buffer scale if supported by the compositor */
display = GDK_WAYLAND_DISPLAY (gdk_surface_get_display (surface));
if (display->compositor_version >= WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
if (wl_compositor_get_version (display->compositor) >= WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
wl_surface_set_buffer_scale (impl->display_server.wl_surface, impl->scale);
impl->buffer_scale_dirty = FALSE;