summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/webview/qquickwebview.cpp14
-rw-r--r--src/webview/qquickwebview.h2
-rw-r--r--src/webview/qwebview_android.cpp3
-rw-r--r--src/webview/qwebview_osx.mm2
-rw-r--r--src/webview/qwebview_p.h2
5 files changed, 13 insertions, 10 deletions
diff --git a/src/webview/qquickwebview.cpp b/src/webview/qquickwebview.cpp
index 66cbaf8..270da36 100644
--- a/src/webview/qquickwebview.cpp
+++ b/src/webview/qquickwebview.cpp
@@ -90,13 +90,13 @@ QQuickWebView::QQuickWebView(QQuickItem *parent)
: QQuickViewController(parent)
, m_webView(new QWebView(this))
{
- setView(m_webView.data());
- connect(m_webView.data(), &QWebView::titleChanged, this, &QQuickWebView::titleChanged);
- connect(m_webView.data(), &QWebView::urlChanged, this, &QQuickWebView::urlChanged);
- connect(m_webView.data(), &QWebView::loadProgressChanged, this, &QQuickWebView::loadProgressChanged);
- connect(m_webView.data(), &QWebView::loadingChanged, this, &QQuickWebView::onLoadingChanged);
- connect(m_webView.data(), &QWebView::requestFocus, this, &QQuickWebView::onFocusRequest);
- connect(m_webView.data(), &QWebView::javaScriptResult, this, &QQuickWebView::onRunJavaScriptResult);
+ setView(m_webView);
+ connect(m_webView, &QWebView::titleChanged, this, &QQuickWebView::titleChanged);
+ connect(m_webView, &QWebView::urlChanged, this, &QQuickWebView::urlChanged);
+ connect(m_webView, &QWebView::loadProgressChanged, this, &QQuickWebView::loadProgressChanged);
+ connect(m_webView, &QWebView::loadingChanged, this, &QQuickWebView::onLoadingChanged);
+ connect(m_webView, &QWebView::requestFocus, this, &QQuickWebView::onFocusRequest);
+ connect(m_webView, &QWebView::javaScriptResult, this, &QQuickWebView::onRunJavaScriptResult);
}
QQuickWebView::~QQuickWebView()
diff --git a/src/webview/qquickwebview.h b/src/webview/qquickwebview.h
index d59b515..ed20664 100644
--- a/src/webview/qquickwebview.h
+++ b/src/webview/qquickwebview.h
@@ -112,7 +112,7 @@ private Q_SLOTS:
void onLoadingChanged(const QWebViewLoadRequestPrivate &loadRequest);
private:
- QScopedPointer<QWebView> m_webView;
+ QWebView* m_webView;
};
QT_END_NAMESPACE
diff --git a/src/webview/qwebview_android.cpp b/src/webview/qwebview_android.cpp
index 76e7288..be5ab6d 100644
--- a/src/webview/qwebview_android.cpp
+++ b/src/webview/qwebview_android.cpp
@@ -128,7 +128,8 @@ QAndroidWebViewPrivate::QAndroidWebViewPrivate(QObject *p)
QAndroidWebViewPrivate::~QAndroidWebViewPrivate()
{
g_webViews->take(m_id);
- delete m_window;
+ if (m_window != 0 && m_window->parent() == 0)
+ delete m_window;
}
QUrl QAndroidWebViewPrivate::url() const
diff --git a/src/webview/qwebview_osx.mm b/src/webview/qwebview_osx.mm
index b4f05e5..60725e7 100644
--- a/src/webview/qwebview_osx.mm
+++ b/src/webview/qwebview_osx.mm
@@ -143,6 +143,8 @@ QOsxWebViewPrivate::~QOsxWebViewPrivate()
{
[webView.frameLoadDelegate release];
[webView release];
+ if (m_window != 0 && m_window->parent() == 0)
+ delete m_window;
}
QUrl QOsxWebViewPrivate::url() const
diff --git a/src/webview/qwebview_p.h b/src/webview/qwebview_p.h
index baeda60..b7d5fe9 100644
--- a/src/webview/qwebview_p.h
+++ b/src/webview/qwebview_p.h
@@ -128,7 +128,7 @@ private:
int m_progress;
Q_DECLARE_PRIVATE(QWebView)
- QScopedPointer<QWebViewPrivate> d_ptr;
+ QWebViewPrivate *d_ptr;
};
QT_END_NAMESPACE