- print new object id on server side
- print new object name when wl_registry.bind
---
 src/connection.c      |   10 +++++++---
 src/wayland-client.c  |    4 ++--
 src/wayland-private.h |    2 +-
 src/wayland-server.c  |    6 +++---
 4 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/connection.c b/src/connection.c
index 8707d40..1c5f52c 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -65,6 +65,7 @@ union wl_value {
        struct wl_object *object;
        uint32_t new_id;
        struct wl_array *array;
+       uint32_t *object_id;
 };
 
 static void
@@ -976,7 +977,7 @@ wl_closure_queue(struct wl_closure *closure, struct 
wl_connection *connection)
 }
 
 void
-wl_closure_print(struct wl_closure *closure, struct wl_object *target, int 
send)
+wl_closure_print(struct wl_closure *closure, struct wl_object *target, int 
send, int server)
 {
        union wl_value *value;
        int32_t si;
@@ -1028,11 +1029,14 @@ wl_closure_print(struct wl_closure *closure, struct 
wl_object *target, int send)
                        fprintf(stderr, "new id %s@",
                                (closure->message->types[i - 2]) ?
                                 closure->message->types[i - 2]->name :
-                                 "[unknown]");
+                                strcmp(target->interface->name, "wl_registry") 
== 0 ?
+                                /* picking 's' from wl_registry.bind : "usun" 
*/
+                                ((union wl_value *)closure->args[i - 
2])->string :
+                                "[unknown]");
                        if (send && value->new_id != 0)
                                fprintf(stderr, "%u", value->new_id);
                        else if (!send && value->object != NULL)
-                               fprintf(stderr, "%u", value->object->id);
+                               fprintf(stderr, "%u", server ? 
*value->object_id : value->object->id);
                        else
                                fprintf(stderr, "nil");
                        break;
diff --git a/src/wayland-client.c b/src/wayland-client.c
index 785f4ee..271c402 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -369,7 +369,7 @@ wl_proxy_marshal(struct wl_proxy *proxy, uint32_t opcode, 
...)
        }
 
        if (wl_debug)
-               wl_closure_print(closure, &proxy->object, true);
+               wl_closure_print(closure, &proxy->object, true, false);
 
        if (wl_closure_send(closure, proxy->display->connection)) {
                fprintf(stderr, "Error sending request: %m\n");
@@ -834,7 +834,7 @@ dispatch_event(struct wl_display *display, struct 
wl_event_queue *queue)
 
        if (proxy->object.implementation) {
                if (wl_debug)
-                       wl_closure_print(closure, &proxy->object, false);
+                       wl_closure_print(closure, &proxy->object, false, false);
 
                wl_closure_invoke(closure, &proxy->object,
                                  proxy->object.implementation[opcode],
diff --git a/src/wayland-private.h b/src/wayland-private.h
index 4ec9896..1ed5e0a 100644
--- a/src/wayland-private.h
+++ b/src/wayland-private.h
@@ -118,7 +118,7 @@ wl_closure_send(struct wl_closure *closure, struct 
wl_connection *connection);
 int
 wl_closure_queue(struct wl_closure *closure, struct wl_connection *connection);
 void
-wl_closure_print(struct wl_closure *closure, struct wl_object *target, int 
send);
+wl_closure_print(struct wl_closure *closure, struct wl_object *target, int 
send, int server);
 void
 wl_closure_destroy(struct wl_closure *closure);
 
diff --git a/src/wayland-server.c b/src/wayland-server.c
index dae7177..c3e7754 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -132,7 +132,7 @@ wl_resource_post_event(struct wl_resource *resource, 
uint32_t opcode, ...)
                                       destroy_client, resource->client);
 
        if (wl_debug)
-               wl_closure_print(closure, object, true);
+               wl_closure_print(closure, object, true, true);
 
        wl_closure_destroy(closure);
 }
@@ -158,7 +158,7 @@ wl_resource_queue_event(struct wl_resource *resource, 
uint32_t opcode, ...)
                                       destroy_client, resource->client);
 
        if (wl_debug)
-               wl_closure_print(closure, object, true);
+               wl_closure_print(closure, object, true, true);
 
        wl_closure_destroy(closure);
 }
@@ -292,7 +292,7 @@ wl_client_connection_data(int fd, uint32_t mask, void *data)
                }
 
                if (wl_debug)
-                       wl_closure_print(closure, object, false);
+                       wl_closure_print(closure, object, false, true);
 
                deref_new_objects(closure);
 
-- 
1.7.9.5

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to