From d8a6a9bfcbaec96156751c0ecaf2aa78e4e8c9e8 Mon Sep 17 00:00:00 2001 From: Even Oscar Andersen Date: Fri, 1 Mar 2024 11:32:05 +0100 Subject: wasm: Make sure we can add screen after releaseRequestUpdateHold has been called MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this fix, such screens would not render due to requestUpdateHold is initialized to true and never reset. The fix is to change the requestUpdateHold member to be a static variable, so that it can be read by screens added after requestUpdateHold has been called. Also, add a test that would fail without this fix Change-Id: Idf2ac916766a03480272cd550f9d1ab7fc5c5158 Reviewed-by: Qt CI Bot Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/wasm/qwasmcompositor.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/plugins/platforms/wasm/qwasmcompositor.h') diff --git a/src/plugins/platforms/wasm/qwasmcompositor.h b/src/plugins/platforms/wasm/qwasmcompositor.h index 5de401844c..4953d65233 100644 --- a/src/plugins/platforms/wasm/qwasmcompositor.h +++ b/src/plugins/platforms/wasm/qwasmcompositor.h @@ -31,7 +31,9 @@ public: QWasmScreen *screen(); void setEnabled(bool enabled); - void releaseRequesetUpdateHold(); + static bool releaseRequestUpdateHold(); + + void requestUpdate(); enum UpdateRequestDeliveryType { ExposeEventDelivery, UpdateRequestDelivery }; void requestUpdateWindow(QWasmWindow *window, UpdateRequestDeliveryType updateType = ExposeEventDelivery); @@ -43,15 +45,14 @@ private: void deregisterEventHandlers(); - void requestUpdate(); void deliverUpdateRequests(); void deliverUpdateRequest(QWasmWindow *window, UpdateRequestDeliveryType updateType); bool m_isEnabled = true; QMap m_requestUpdateWindows; int m_requestAnimationFrameId = -1; - bool m_requestUpdateHoldEnabled = true; bool m_inDeliverUpdateRequest = false; + static bool m_requestUpdateHoldEnabled; }; QT_END_NAMESPACE -- cgit v1.2.3