diff options
author | Mikolaj Boc <mikolaj.boc@qt.io> | 2023-04-21 16:07:22 +0200 |
---|---|---|
committer | Mikolaj Boc <mikolaj.boc@qt.io> | 2023-04-25 22:57:42 +0200 |
commit | 07a736db6ad612818df2ec6bef222139ad1b5d58 (patch) | |
tree | 5e3d65a89ff4c71db17fd9d5f6a1bbe2d5163c9c /src/corelib/platform | |
parent | 0198611fd4505c617c004a418a75b17a44adeb00 (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.cpp | 9 |
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() |