wayland: Use wl_compositor_get_version()
authorBenjamin Otte <otte@redhat.com>
Fri, 31 Mar 2023 23:28:46 +0000 (01:28 +0200)
committerBenjamin Otte <otte@redhat.com>
Sat, 1 Apr 2023 00:22:21 +0000 (02:22 +0200)
Wayland has functions to check versions, so use those.

gdk/wayland/gdkdisplay-wayland.c
gdk/wayland/gdkdisplay-wayland.h
gdk/wayland/gdkseat-wayland.c
gdk/wayland/gdksurface-wayland.c

index 0dc9c7236138c28e00bedcea6925e5e2739a3a69..5c43814b6d7e8f87700ca0c0f51ee78c3297959a 100644 (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)
     {
index 56e9e469b827fc98fee9fe430c2eea67887bd11f..e143165c367c052ef435bf9eb509caa789701a9f 100644 (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;
index 0c194247492b49be12253d00953142ef078b1403..9f9cc57df1aeb34b445fdbac066e66fadc7f8d9d 100644 (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;
index 13e81955773f42338be4c428cb11f6b832c329db..9374685dbd7873c5a126e17414cf627518d8c483 100644 (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;