diff options
| author | Alexandros Frantzis <alexandros.frantzis@collabora.com> | 2023-02-28 23:42:59 +0200 |
|---|---|---|
| committer | Alexandros Frantzis <alexandros.frantzis@collabora.com> | 2023-03-01 15:50:02 +0200 |
| commit | b01a85dfd5e8cda7170b7ba6fe66fc3800f93990 (patch) | |
| tree | 43bf9b8159a6aa54c0ced2c8ac5a3ecced873b77 /src | |
| parent | build: bump version to 1.21.91 for the alpha release (diff) | |
| download | wayland-b01a85dfd5e8cda7170b7ba6fe66fc3800f93990.tar wayland-b01a85dfd5e8cda7170b7ba6fe66fc3800f93990.tar.gz wayland-b01a85dfd5e8cda7170b7ba6fe66fc3800f93990.tar.bz2 wayland-b01a85dfd5e8cda7170b7ba6fe66fc3800f93990.tar.lz wayland-b01a85dfd5e8cda7170b7ba6fe66fc3800f93990.tar.xz wayland-b01a85dfd5e8cda7170b7ba6fe66fc3800f93990.tar.zst wayland-b01a85dfd5e8cda7170b7ba6fe66fc3800f93990.zip | |
client: Do not warn about attached proxies on default queue destruction.
If the default queue is being destroyed, the client is disconnecting
from the wl_display, so there is no possibility of subsequent events
being queued to the destroyed default queue, which is what this warning
is about.
Note that interacting with (e.g., destroying) a wl_proxy after its
wl_display is destroyed is a certain memory error, and this warning will
indirectly warn about this issue. However, this memory error should be
detected and warned about through a more deliberate mechanism.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/wayland-client.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/wayland-client.c b/src/wayland-client.c index a50fc18..054c0c7 100644 --- a/src/wayland-client.c +++ b/src/wayland-client.c @@ -304,14 +304,18 @@ wl_event_queue_release(struct wl_event_queue *queue) if (!wl_list_empty(&queue->proxy_list)) { struct wl_proxy *proxy, *tmp; - wl_log("warning: queue %p destroyed while proxies still " - "attached:\n", queue); + if (queue != &queue->display->default_queue) { + wl_log("warning: queue %p destroyed while proxies " + "still attached:\n", queue); + } wl_list_for_each_safe(proxy, tmp, &queue->proxy_list, queue_link) { - wl_log(" %s@%u still attached\n", - proxy->object.interface->name, - proxy->object.id); + if (queue != &queue->display->default_queue) { + wl_log(" %s@%u still attached\n", + proxy->object.interface->name, + proxy->object.id); + } proxy->queue = NULL; wl_list_remove(&proxy->queue_link); wl_list_init(&proxy->queue_link); |
