diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-07-07 18:12:15 +0200 |
---|---|---|
committer | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-08-04 08:45:25 +0200 |
commit | 1c2a4da1c73bfc2456c59146ce615b7e2122e90e (patch) | |
tree | 7690eee799b00b177dc03e1e64706a108bb99abd /src/webenginewidgets/api/qwebenginepage.cpp | |
parent | ddd8ab311271b59514ce0748301e634ca988b62b (diff) |
Don't inherit from Qt private types
Do the d_ptr magic ourselves to avoid having to include private
headers from qtcore, qtgui and qtdeclarative.
It is hackish to hide QObject's d_ptr member to have the macros
working in a public class, but if anything goes wrong we just
need to replace the private macro convenience while maintaining
the binary compatibility of the stored extra opaque pointer.
Change-Id: Idb92f4f902826bef9068a5c2ef6ea31fc3fa15b2
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'src/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index fd1f54834..10e3dcda5 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -42,6 +42,7 @@ #include <QMenu> #include <QMessageBox> #include <QStandardPaths> +#include <QStyle> #include <QUrl> QT_BEGIN_NAMESPACE @@ -162,12 +163,10 @@ void CallbackDirectory::CallbackSharedDataPointer::doDeref() } QWebEnginePagePrivate::QWebEnginePagePrivate() - : QObjectPrivate(QObjectPrivateVersion) - , adapter(new WebContentsAdapter) + : adapter(new WebContentsAdapter) , history(new QWebEngineHistory(new QWebEngineHistoryPrivate(this))) , view(0) { - adapter->initialize(this); memset(actions, 0, sizeof(actions)); } @@ -407,8 +406,12 @@ void QWebEnginePagePrivate::recreateFromSerializedHistory(QDataStream &input) } QWebEnginePage::QWebEnginePage(QObject* parent) - : QObject(*new QWebEnginePagePrivate, parent) + : QObject(parent) + , d_ptr(new QWebEnginePagePrivate) { + Q_D(QWebEnginePage); + d->q_ptr = this; + d->adapter->initialize(d); } QWebEnginePage::~QWebEnginePage() |