summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Chalupa <mchqwerty@gmail.com>2015-03-19 03:42:27 -0400
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2015-03-19 16:11:21 +0200
commite16ee74e475b5a179151b88a0a55a511fd368d74 (patch)
tree637ed67a70c996dff8b20642dcb48704dd5bc3a2
parentcursor: free the array from which images are linked (diff)
downloadwayland-e16ee74e475b5a179151b88a0a55a511fd368d74.tar
wayland-e16ee74e475b5a179151b88a0a55a511fd368d74.tar.gz
wayland-e16ee74e475b5a179151b88a0a55a511fd368d74.tar.bz2
wayland-e16ee74e475b5a179151b88a0a55a511fd368d74.tar.lz
wayland-e16ee74e475b5a179151b88a0a55a511fd368d74.tar.xz
wayland-e16ee74e475b5a179151b88a0a55a511fd368d74.tar.zst
wayland-e16ee74e475b5a179151b88a0a55a511fd368d74.zip
server: give more precise error message
There are two same error messages with different cause. Let user know what is the cause of the error. Signed-off-by: Marek Chalupa <mchqwerty@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-rw-r--r--src/wayland-server.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/wayland-server.c b/src/wayland-server.c
index 0558634..ecbae68 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -238,7 +238,7 @@ wl_client_connection_data(int fd, uint32_t mask, void *data)
const struct wl_message *message;
uint32_t p[2];
uint32_t resource_flags;
- int opcode, size;
+ int opcode, size, since;
int len;
if (mask & (WL_EVENT_ERROR | WL_EVENT_HANGUP)) {
@@ -294,13 +294,14 @@ wl_client_connection_data(int fd, uint32_t mask, void *data)
}
message = &object->interface->methods[opcode];
+ since = wl_message_get_since(message);
if (!(resource_flags & WL_MAP_ENTRY_LEGACY) &&
- resource->version > 0 &&
- resource->version < wl_message_get_since(message)) {
+ resource->version > 0 && resource->version < since) {
wl_resource_post_error(client->display_resource,
WL_DISPLAY_ERROR_INVALID_METHOD,
- "invalid method %d, object %s@%u",
- opcode,
+ "invalid method %d (since %d < %d)"
+ ", object %s@%u",
+ opcode, resource->version, since,
object->interface->name,
object->id);
break;