From 4df57d915d12e667d9ced97121192d1276f7519c Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Thu, 25 Jul 2019 13:53:44 +0200 Subject: [PATCH] uwac: Do not unconditionally set pendingBuffer on configure If pendingBuffer is set when it was otherwise NULL, then UwacWindowSubmitBuffer will forever bail early, waiting for a frame callback that will never come. --- uwac/libuwac/uwac-window.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/uwac/libuwac/uwac-window.c b/uwac/libuwac/uwac-window.c index a5ac38f8c..d63bb1af5 100644 --- a/uwac/libuwac/uwac-window.c +++ b/uwac/libuwac/uwac-window.c @@ -147,7 +147,9 @@ static void xdg_handle_toplevel_configure(void *data, return; } - window->drawingBuffer = window->pendingBuffer = &window->buffers[0]; + window->drawingBuffer = &window->buffers[0]; + if (window->pendingBuffer != NULL) + window->pendingBuffer = window->drawingBuffer; } else { @@ -230,7 +232,9 @@ static void ivi_handle_configure(void* data, struct ivi_surface* surface, return; } - window->drawingBuffer = window->pendingBuffer = &window->buffers[0]; + window->drawingBuffer = &window->buffers[0]; + if (window->pendingBuffer != NULL) + window->pendingBuffer = window->drawingBuffer; } else { @@ -286,7 +290,9 @@ void shell_configure(void* data, struct wl_shell_surface* surface, uint32_t edge return; } - window->drawingBuffer = window->pendingBuffer = &window->buffers[0]; + window->drawingBuffer = &window->buffers[0]; + if (window->pendingBuffer != NULL) + window->pendingBuffer = window->drawingBuffer; } else {