aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/wayland-client.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/wayland-client.c b/src/wayland-client.c
index 3e42f70..90fb9c7 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -2333,12 +2333,16 @@ wl_proxy_get_class(struct wl_proxy *proxy)
WL_EXPORT void
wl_proxy_set_queue(struct wl_proxy *proxy, struct wl_event_queue *queue)
{
+ pthread_mutex_lock(&proxy->display->mutex);
+
if (queue) {
assert(proxy->display == queue->display);
proxy->queue = queue;
} else {
proxy->queue = &proxy->display->default_queue;
}
+
+ pthread_mutex_unlock(&proxy->display->mutex);
}
/** Create a proxy wrapper for making queue assignments thread-safe