diff options
| author | Jasper St. Pierre <jstpierre@mecheye.net> | 2013-11-12 21:44:37 -0500 |
|---|---|---|
| committer | Kristian Høgsberg <krh@bitplanet.net> | 2013-11-19 13:26:32 -0800 |
| commit | 40d057f2c90eaeffd6185078b25a0e0ff861f2a8 (patch) | |
| tree | bcb8b4c80fa7c1541b27ee335701fcc04e6ca34f /src | |
| parent | Update .gitignore for protocol/ (diff) | |
| download | wayland-40d057f2c90eaeffd6185078b25a0e0ff861f2a8.tar wayland-40d057f2c90eaeffd6185078b25a0e0ff861f2a8.tar.gz wayland-40d057f2c90eaeffd6185078b25a0e0ff861f2a8.tar.bz2 wayland-40d057f2c90eaeffd6185078b25a0e0ff861f2a8.tar.lz wayland-40d057f2c90eaeffd6185078b25a0e0ff861f2a8.tar.xz wayland-40d057f2c90eaeffd6185078b25a0e0ff861f2a8.tar.zst wayland-40d057f2c90eaeffd6185078b25a0e0ff861f2a8.zip | |
wayland-server: Improve error messages for bad globals
A bug in Weston's toytoolkit gave me an hour of debugging headaches.
Improve the error messages that we send if a client requests an invalid
global, either by name or by version.
Diffstat (limited to 'src')
| -rw-r--r-- | src/wayland-server.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/wayland-server.c b/src/wayland-server.c index e04d2f4..80e76e1 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -701,11 +701,15 @@ registry_bind(struct wl_client *client, if (global->name == name) break; - if (&global->link == &display->global_list || - global->version < version) + if (&global->link == &display->global_list) wl_resource_post_error(resource, WL_DISPLAY_ERROR_INVALID_OBJECT, - "invalid global %d", name); + "invalid global %s (%d)", interface, name); + else if (global->version < version) + wl_resource_post_error(resource, + WL_DISPLAY_ERROR_INVALID_OBJECT, + "invalid version for global %s (%d): have %d, wanted %d", + interface, name, global->version, version); else global->bind(client, global->data, version, id); } |
