shell: Make sure the shell implementation and protocol versions match

dev
Kristian Høgsberg 11 years ago
parent 1e65840b61
commit 8d344a0548
  1. 3
      desktop-shell/shell.c
  2. 4
      src/compositor.h

@ -3421,6 +3421,9 @@ xdg_shell_unversioned_dispatch(const void *implementation,
#define XDG_SERVER_VERSION 1 #define XDG_SERVER_VERSION 1
static_assert(XDG_SERVER_VERSION == XDG_SHELL_VERSION_CURRENT,
"shell implementation doesn't match protocol version");
if (args[0].i != XDG_SERVER_VERSION) { if (args[0].i != XDG_SERVER_VERSION) {
wl_resource_post_error(resource, wl_resource_post_error(resource,
WL_DISPLAY_ERROR_INVALID_OBJECT, WL_DISPLAY_ERROR_INVALID_OBJECT,

@ -45,6 +45,10 @@ extern "C" {
#define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0]) #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
#ifndef static_assert
#define static_assert(cond, msg)
#endif
#define container_of(ptr, type, member) ({ \ #define container_of(ptr, type, member) ({ \
const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \ const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );}) (type *)( (char *)__mptr - offsetof(type,member) );})

Loading…
Cancel
Save