aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexandros Frantzis <alexandros.frantzis@collabora.com>2023-02-28 23:42:59 +0200
committerAlexandros Frantzis <alexandros.frantzis@collabora.com>2023-03-01 15:50:02 +0200
commitb01a85dfd5e8cda7170b7ba6fe66fc3800f93990 (patch)
tree43bf9b8159a6aa54c0ced2c8ac5a3ecced873b77 /src
parentbuild: bump version to 1.21.91 for the alpha release (diff)
downloadwayland-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.c14
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);