diff options
Diffstat (limited to 'src/webenginewidgets/api/qwebenginenotificationpresenter.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebenginenotificationpresenter.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/webenginewidgets/api/qwebenginenotificationpresenter.cpp b/src/webenginewidgets/api/qwebenginenotificationpresenter.cpp index c15a80373..da97c4662 100644 --- a/src/webenginewidgets/api/qwebenginenotificationpresenter.cpp +++ b/src/webenginewidgets/api/qwebenginenotificationpresenter.cpp @@ -57,11 +57,15 @@ DefaultNotificationPresenter::~DefaultNotificationPresenter() void DefaultNotificationPresenter::show(const QWebEngineNotification ¬ification) { - if (!m_activeNotification.isNull()) + if (m_activeNotification.isValid()) { m_activeNotification.close(); + m_activeNotification.disconnect(this); + } + m_activeNotification = notification; + #ifndef QT_NO_SYSTEMTRAYICON - if (m_systemTrayIcon) { + if (m_activeNotification.isValid() && m_systemTrayIcon) { m_systemTrayIcon->show(); QIcon icon = notification.icon(); if (!icon.isNull()) @@ -76,7 +80,7 @@ void DefaultNotificationPresenter::show(const QWebEngineNotification ¬ificati void DefaultNotificationPresenter::messageClicked() { - if (!m_activeNotification.isNull()) + if (m_activeNotification.isValid()) m_activeNotification.click(); } |