summaryrefslogtreecommitdiff
path: root/src/webenginewidgets/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r--src/webenginewidgets/api/qwebengineurlschemehandler.cpp9
-rw-r--r--src/webenginewidgets/api/qwebengineurlschemehandler_p.h2
-rw-r--r--src/webenginewidgets/api/qwebengineurlschemehandler_p_p.h4
3 files changed, 8 insertions, 7 deletions
diff --git a/src/webenginewidgets/api/qwebengineurlschemehandler.cpp b/src/webenginewidgets/api/qwebengineurlschemehandler.cpp
index b52912b7c..ccb92258b 100644
--- a/src/webenginewidgets/api/qwebengineurlschemehandler.cpp
+++ b/src/webenginewidgets/api/qwebengineurlschemehandler.cpp
@@ -41,8 +41,6 @@
#include "qwebengineprofile_p.h"
#include "qwebengineurlrequestjob_p.h"
-#include <QSharedPointer>
-
QT_BEGIN_NAMESPACE
QWebEngineUrlSchemeHandlerPrivate::QWebEngineUrlSchemeHandlerPrivate(const QByteArray &scheme, QWebEngineUrlSchemeHandler *q, QWebEngineProfile *profile)
@@ -63,8 +61,8 @@ bool QWebEngineUrlSchemeHandlerPrivate::handleJob(URLRequestCustomJobDelegate *j
return true;
}
-QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(const QByteArray &scheme, QWebEngineProfile *profile)
- : QObject(profile)
+QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(const QByteArray &scheme, QWebEngineProfile *profile, QObject *parent)
+ : QObject(parent)
, d_ptr(new QWebEngineUrlSchemeHandlerPrivate(scheme, this, profile))
{
profile->d_func()->installUrlSchemeHandler(this);
@@ -72,7 +70,8 @@ QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(const QByteArray &scheme,
QWebEngineUrlSchemeHandler::~QWebEngineUrlSchemeHandler()
{
- d_ptr->m_profile->d_func()->removeUrlSchemeHandler(this);
+ if (d_ptr->m_profile)
+ d_ptr->m_profile->d_func()->removeUrlSchemeHandler(this);
}
QByteArray QWebEngineUrlSchemeHandler::scheme() const
diff --git a/src/webenginewidgets/api/qwebengineurlschemehandler_p.h b/src/webenginewidgets/api/qwebengineurlschemehandler_p.h
index 0455128c7..153b78f81 100644
--- a/src/webenginewidgets/api/qwebengineurlschemehandler_p.h
+++ b/src/webenginewidgets/api/qwebengineurlschemehandler_p.h
@@ -54,7 +54,7 @@ class QWebEngineUrlSchemeHandlerPrivate;
class QWEBENGINEWIDGETS_EXPORT QWebEngineUrlSchemeHandler : public QObject {
Q_OBJECT
public:
- QWebEngineUrlSchemeHandler(const QByteArray &scheme, QWebEngineProfile *profile);
+ QWebEngineUrlSchemeHandler(const QByteArray &scheme, QWebEngineProfile *profile, QObject *parent = 0);
virtual ~QWebEngineUrlSchemeHandler();
QByteArray scheme() const;
diff --git a/src/webenginewidgets/api/qwebengineurlschemehandler_p_p.h b/src/webenginewidgets/api/qwebengineurlschemehandler_p_p.h
index e880bf000..6146cc05e 100644
--- a/src/webenginewidgets/api/qwebengineurlschemehandler_p_p.h
+++ b/src/webenginewidgets/api/qwebengineurlschemehandler_p_p.h
@@ -41,6 +41,8 @@
#include "custom_url_scheme_handler.h"
+#include <QPointer>
+
QT_BEGIN_NAMESPACE
class QWebEngineProfile;
@@ -58,7 +60,7 @@ public:
private:
QWebEngineUrlSchemeHandler *q_ptr;
- QWebEngineProfile* m_profile;
+ QPointer<QWebEngineProfile> m_profile;
};
QT_END_NAMESPACE