xserver: Branch 'master'
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Oct 24 10:07:02 UTC 2018
hw/xwayland/xwayland-present.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
New commits:
commit cb0de153bf0c486da7e968ab0f258c9c0c9ed34a
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Fri Oct 19 18:27:37 2018 +0200
xwayland: Plug leaks in xwl_present_sync_callback
xwl_present_window->sync_callback was leaked.
The event memory was leaked if the corresponding buffer had already been
released.
diff --git a/hw/xwayland/xwayland-present.c b/hw/xwayland/xwayland-present.c
index 98692b3ca..a1470751a 100644
--- a/hw/xwayland/xwayland-present.c
+++ b/hw/xwayland/xwayland-present.c
@@ -274,6 +274,9 @@ xwl_present_sync_callback(void *data,
struct xwl_present_event *event = data;
struct xwl_present_window *xwl_present_window = event->xwl_present_window;
+ wl_callback_destroy(xwl_present_window->sync_callback);
+ xwl_present_window->sync_callback = NULL;
+
event->pending = FALSE;
if (event->abort) {
@@ -289,12 +292,14 @@ xwl_present_sync_callback(void *data,
xwl_present_window->ust,
xwl_present_window->msc);
- if (event->buffer_released)
+ if (event->buffer_released) {
/* If the buffer was already released, send the event now again */
present_wnmd_event_notify(xwl_present_window->window,
event->event_id,
xwl_present_window->ust,
xwl_present_window->msc);
+ xwl_present_free_event(event);
+ }
}
static const struct wl_callback_listener xwl_present_sync_listener = {
More information about the xorg-commit
mailing list