diff options
Diffstat (limited to 'src/core/api/qwebenginepage.cpp')
-rw-r--r-- | src/core/api/qwebenginepage.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp index 475366c15..f725d437c 100644 --- a/src/core/api/qwebenginepage.cpp +++ b/src/core/api/qwebenginepage.cpp @@ -2031,7 +2031,10 @@ void QWebEnginePage::runJavaScript(const QString& scriptSource, const std::funct return; } quint64 requestId = d->adapter->runJavaScriptCallbackResult(scriptSource, QWebEngineScript::MainWorld); - d->m_variantCallbacks.insert(requestId, resultCallback); + if (requestId) + d->m_variantCallbacks.insert(requestId, resultCallback); + else if (resultCallback) + resultCallback(QVariant()); } void QWebEnginePage::runJavaScript(const QString& scriptSource, quint32 worldId, const std::function<void(const QVariant &)> &resultCallback) @@ -2046,7 +2049,10 @@ void QWebEnginePage::runJavaScript(const QString& scriptSource, quint32 worldId, } if (resultCallback) { quint64 requestId = d->adapter->runJavaScriptCallbackResult(scriptSource, worldId); - d->m_variantCallbacks.insert(requestId, resultCallback); + if (requestId) + d->m_variantCallbacks.insert(requestId, resultCallback); + else + resultCallback(QVariant()); } else { d->adapter->runJavaScript(scriptSource, worldId); } |