2
0
Эх сурвалжийг харах

Wayland: Load functions for new atomic marshalling

The wayland-scanner program recently changed how it generates
marshalling, requiring a couple of new core functions.

Fixes #1949.
Camilla Löwy 4 жил өмнө
parent
commit
85348c67cd
3 өөрчлөгдсөн 11 нэмэгдсэн , 0 устгасан
  1. 1 0
      README.md
  2. 4 0
      src/wl_init.c
  3. 6 0
      src/wl_platform.h

+ 1 - 0
README.md

@@ -401,6 +401,7 @@ skills.
  - Martins Mozeiko
  - Martins Mozeiko
  - Julian Møller
  - Julian Møller
  - ndogxj
  - ndogxj
+ - n3rdopolis
  - Kristian Nielsen
  - Kristian Nielsen
  - Kamil Nowakowski
  - Kamil Nowakowski
  - onox
  - onox

+ 4 - 0
src/wl_init.c

@@ -1092,6 +1092,10 @@ int _glfwPlatformInit(void)
         _glfw_dlsym(_glfw.wl.client.handle, "wl_proxy_get_user_data");
         _glfw_dlsym(_glfw.wl.client.handle, "wl_proxy_get_user_data");
     _glfw.wl.client.proxy_set_user_data = (PFN_wl_proxy_set_user_data)
     _glfw.wl.client.proxy_set_user_data = (PFN_wl_proxy_set_user_data)
         _glfw_dlsym(_glfw.wl.client.handle, "wl_proxy_set_user_data");
         _glfw_dlsym(_glfw.wl.client.handle, "wl_proxy_set_user_data");
+    _glfw.wl.client.proxy_get_version = (PFN_wl_proxy_get_version)
+        _glfw_dlsym(_glfw.wl.client.handle, "wl_proxy_get_version");
+    _glfw.wl.client.proxy_marshal_flags = (PFN_wl_proxy_marshal_flags)
+        _glfw_dlsym(_glfw.wl.client.handle, "wl_proxy_marshal_flags");
 
 
     if (!_glfw.wl.client.display_flush ||
     if (!_glfw.wl.client.display_flush ||
         !_glfw.wl.client.display_cancel_read ||
         !_glfw.wl.client.display_cancel_read ||

+ 6 - 0
src/wl_platform.h

@@ -70,6 +70,8 @@ typedef struct wl_proxy* (* PFN_wl_proxy_marshal_constructor)(struct wl_proxy*,u
 typedef struct wl_proxy* (* PFN_wl_proxy_marshal_constructor_versioned)(struct wl_proxy*,uint32_t,const struct wl_interface*,uint32_t,...);
 typedef struct wl_proxy* (* PFN_wl_proxy_marshal_constructor_versioned)(struct wl_proxy*,uint32_t,const struct wl_interface*,uint32_t,...);
 typedef void* (* PFN_wl_proxy_get_user_data)(struct wl_proxy*);
 typedef void* (* PFN_wl_proxy_get_user_data)(struct wl_proxy*);
 typedef void (* PFN_wl_proxy_set_user_data)(struct wl_proxy*,void*);
 typedef void (* PFN_wl_proxy_set_user_data)(struct wl_proxy*,void*);
+typedef uint32_t (* PFN_wl_proxy_get_version)(struct wl_proxy*);
+typedef struct wl_proxy* (* PFN_wl_proxy_marshal_flags)(struct wl_proxy*,uint32_t,const struct wl_interface*,uint32_t,uint32_t,...);
 #define wl_display_flush _glfw.wl.client.display_flush
 #define wl_display_flush _glfw.wl.client.display_flush
 #define wl_display_cancel_read _glfw.wl.client.display_cancel_read
 #define wl_display_cancel_read _glfw.wl.client.display_cancel_read
 #define wl_display_dispatch_pending _glfw.wl.client.display_dispatch_pending
 #define wl_display_dispatch_pending _glfw.wl.client.display_dispatch_pending
@@ -86,6 +88,8 @@ typedef void (* PFN_wl_proxy_set_user_data)(struct wl_proxy*,void*);
 #define wl_proxy_marshal_constructor_versioned _glfw.wl.client.proxy_marshal_constructor_versioned
 #define wl_proxy_marshal_constructor_versioned _glfw.wl.client.proxy_marshal_constructor_versioned
 #define wl_proxy_get_user_data _glfw.wl.client.proxy_get_user_data
 #define wl_proxy_get_user_data _glfw.wl.client.proxy_get_user_data
 #define wl_proxy_set_user_data _glfw.wl.client.proxy_set_user_data
 #define wl_proxy_set_user_data _glfw.wl.client.proxy_set_user_data
+#define wl_proxy_get_version _glfw.wl.client.proxy_get_version
+#define wl_proxy_marshal_flags _glfw.wl.client.proxy_marshal_flags
 
 
 struct wl_shm;
 struct wl_shm;
 
 
@@ -388,6 +392,8 @@ typedef struct _GLFWlibraryWayland
         PFN_wl_proxy_marshal_constructor_versioned  proxy_marshal_constructor_versioned;
         PFN_wl_proxy_marshal_constructor_versioned  proxy_marshal_constructor_versioned;
         PFN_wl_proxy_get_user_data                  proxy_get_user_data;
         PFN_wl_proxy_get_user_data                  proxy_get_user_data;
         PFN_wl_proxy_set_user_data                  proxy_set_user_data;
         PFN_wl_proxy_set_user_data                  proxy_set_user_data;
+        PFN_wl_proxy_get_version                    proxy_get_version;
+        PFN_wl_proxy_marshal_flags                  proxy_marshal_flags;
     } client;
     } client;
 
 
     struct {
     struct {