summaryrefslogtreecommitdiffstats
path: root/src/corelib/platform
diff options
context:
space:
mode:
authorMikolaj Boc <mikolaj.boc@qt.io>2023-04-21 16:07:22 +0200
committerMikolaj Boc <mikolaj.boc@qt.io>2023-04-25 22:57:42 +0200
commit07a736db6ad612818df2ec6bef222139ad1b5d58 (patch)
tree5e3d65a89ff4c71db17fd9d5f6a1bbe2d5163c9c /src/corelib/platform
parent0198611fd4505c617c004a418a75b17a44adeb00 (diff)
Remove FileReader callbacks before assigning new ones
This fixes the assert raised on overwriting event handlers Fixes: QTBUG-113041 Change-Id: Ie2afe09f4111ea542297b82a51382f1eb04ec960 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io>
Diffstat (limited to 'src/corelib/platform')
-rw-r--r--src/corelib/platform/wasm/qstdweb.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/corelib/platform/wasm/qstdweb.cpp b/src/corelib/platform/wasm/qstdweb.cpp
index 1ffa3ca8f3..183d2e0016 100644
--- a/src/corelib/platform/wasm/qstdweb.cpp
+++ b/src/corelib/platform/wasm/qstdweb.cpp
@@ -623,17 +623,20 @@ void FileReader::readAsArrayBuffer(const Blob &blob) const
void FileReader::onLoad(const std::function<void(emscripten::val)> &onLoad)
{
- m_onLoad.reset(new EventCallback(m_fileReader, "load", onLoad));
+ m_onLoad.reset();
+ m_onLoad = std::make_unique<EventCallback>(m_fileReader, "load", onLoad);
}
void FileReader::onError(const std::function<void(emscripten::val)> &onError)
{
- m_onError.reset(new EventCallback(m_fileReader, "error", onError));
+ m_onError.reset();
+ m_onError = std::make_unique<EventCallback>(m_fileReader, "error", onError);
}
void FileReader::onAbort(const std::function<void(emscripten::val)> &onAbort)
{
- m_onAbort.reset(new EventCallback(m_fileReader, "abort", onAbort));
+ m_onAbort.reset();
+ m_onAbort = std::make_unique<EventCallback>(m_fileReader, "abort", onAbort);
}
emscripten::val FileReader::val()