Hello community,
here is the log from the commit of package nextcloud-client for openSUSE:Factory checked in at 2019-01-08 12:30:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nextcloud-client (Old)
and /work/SRC/openSUSE:Factory/.nextcloud-client.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nextcloud-client"
Tue Jan 8 12:30:02 2019 rev:15 rq:663482 version:2.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/nextcloud-client/nextcloud-client.changes 2019-01-03 18:09:20.555995697 +0100
+++ /work/SRC/openSUSE:Factory/.nextcloud-client.new.28833/nextcloud-client.changes 2019-01-08 12:31:47.316055838 +0100
@@ -1,0 +2,6 @@
+Mon Jan 7 18:11:07 UTC 2019 - Alexei Sorokin
+
+- Append to nextcloud-client-fix-qt-5.12.patch a fix for a
+ QtWebEngine crash on Qt 5.12 (commit 09b0055, boo#1120310).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nextcloud-client.spec ++++++
--- /var/tmp/diff_new_pack.56QkCl/_old 2019-01-08 12:31:48.128054956 +0100
+++ /var/tmp/diff_new_pack.56QkCl/_new 2019-01-08 12:31:48.128054956 +0100
@@ -31,7 +31,7 @@
Patch0: nextcloud-client-fix-rpath.patch
# PATCH-FIX-OPENSUSE nextcloud-client-remove-datetime.patch sor.alexei@meowr.ru -- Remove __TIME__ and __DATE__.
Patch1: nextcloud-client-remove-datetime.patch
-# PATCH-FIX-UPSTREAM nextcloud-client-fix-qt-5.12.patch -- Fix an error during build with Qt 5.12 (commit 1295884).
+# PATCH-FIX-UPSTREAM nextcloud-client-fix-qt-5.12.patch -- Fix issues with Qt 5.12 (commits 1295884, 09b0055).
Patch2: nextcloud-client-fix-qt-5.12.patch
BuildRequires: AppStream
BuildRequires: cmake >= 3.2
++++++ nextcloud-client-fix-qt-5.12.patch ++++++
--- /var/tmp/diff_new_pack.56QkCl/_old 2019-01-08 12:31:48.148054934 +0100
+++ /var/tmp/diff_new_pack.56QkCl/_new 2019-01-08 12:31:48.148054934 +0100
@@ -1,3 +1,32 @@
+--- a/src/gui/creds/webflowcredentialsdialog.cpp
++++ b/src/gui/creds/webflowcredentialsdialog.cpp
+@@ -29,6 +29,14 @@ WebFlowCredentialsDialog::WebFlowCredentialsDialog(QWidget *parent)
+ connect(_webView, &WebView::urlCatched, this, &WebFlowCredentialsDialog::urlCatched);
+ }
+
++void WebFlowCredentialsDialog::closeEvent(QCloseEvent *e) {
++ Q_UNUSED(e);
++
++ // Force calling WebView::~WebView() earlier so that _profile and _page are
++ // deleted in the correct order.
++ delete _webView;
++}
++
+ void WebFlowCredentialsDialog::setUrl(const QUrl &url) {
+ _webView->setUrl(url);
+ }
+--- a/src/gui/creds/webflowcredentialsdialog.h
++++ b/src/gui/creds/webflowcredentialsdialog.h
+@@ -21,6 +21,9 @@ class WebFlowCredentialsDialog : public QDialog
+ void setInfo(const QString &msg);
+ void setError(const QString &error);
+
++protected:
++ void closeEvent(QCloseEvent *e) override;
++
+ signals:
+ void urlCatched(const QString user, const QString pass, const QString host);
+
--- a/src/gui/wizard/webview.cpp
+++ b/src/gui/wizard/webview.cpp
@@ -10,6 +10,7 @@
@@ -8,3 +37,33 @@
#include "common/utility.h"
+@@ -104,6 +105,19 @@ void WebView::setUrl(const QUrl &url) {
+ _page->setUrl(url);
+ }
+
++WebView::~WebView() {
++ /*
++ * The Qt implmentation deletes children in the order they are added to the
++ * object tree, so in this case _page is deleted after _profile, which
++ * violates the assumption that _profile should exist longer than
++ * _page [1]. Here I delete _page manually so that _profile can be safely
++ * deleted later.
++ *
++ * [1] https://doc.qt.io/qt-5/qwebenginepage.html#QWebEnginePage-1
++ */
++ delete _page;
++}
++
+ WebViewPageUrlRequestInterceptor::WebViewPageUrlRequestInterceptor(QObject *parent)
+ : QWebEngineUrlRequestInterceptor(parent) {
+
+--- a/src/gui/wizard/webview.h
++++ b/src/gui/wizard/webview.h
+@@ -21,6 +21,7 @@ class WebView : public QWidget
+ Q_OBJECT
+ public:
+ WebView(QWidget *parent = nullptr);
++ virtual ~WebView();
+ void setUrl(const QUrl &url);
+
+ signals: