summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmcompositor.h
diff options
context:
space:
mode:
authorEven Oscar Andersen <even.oscar.andersen@qt.io>2024-03-01 11:32:05 +0100
committerEven Oscar Andersen <even.oscar.andersen@qt.io>2024-03-05 17:58:14 +0100
commitd8a6a9bfcbaec96156751c0ecaf2aa78e4e8c9e8 (patch)
tree96729e80e536737c16c43025b9f6c385fe312cca /src/plugins/platforms/wasm/qwasmcompositor.h
parente06c67d448a6b4684d9787e9c18ec12f884b7063 (diff)
wasm: Make sure we can add screen after releaseRequestUpdateHold has been called
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 <qt_ci_bot@qt-project.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmcompositor.h')
-rw-r--r--src/plugins/platforms/wasm/qwasmcompositor.h7
1 files changed, 4 insertions, 3 deletions
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<QWasmWindow *, UpdateRequestDeliveryType> m_requestUpdateWindows;
int m_requestAnimationFrameId = -1;
- bool m_requestUpdateHoldEnabled = true;
bool m_inDeliverUpdateRequest = false;
+ static bool m_requestUpdateHoldEnabled;
};
QT_END_NAMESPACE