Page MenuHomeSolus

D5538.diff
No OneTemporary

D5538.diff

diff --git a/files/fix-build-with-qt5.12.patch b/files/fix-build-with-qt5.12.patch
new file mode 100644
--- /dev/null
+++ b/files/fix-build-with-qt5.12.patch
@@ -0,0 +1,23 @@
+From 129588442041c32b0d98f2361a69e0e350592f70 Mon Sep 17 00:00:00 2001
+From: Oskar Kruschitz <okr@huemer-it.com>
+Date: Thu, 13 Dec 2018 16:13:01 +0100
+Subject: [PATCH] Added missing Include
+
+Fixing an error during Build with Qt5.12:
+error: member access into incomplete type 'const QWebEngineCertificateError'
+---
+ src/gui/wizard/webview.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gui/wizard/webview.cpp b/src/gui/wizard/webview.cpp
+index 15c1f314e..73e671b8f 100644
+--- a/src/gui/wizard/webview.cpp
++++ b/src/gui/wizard/webview.cpp
+@@ -10,6 +10,7 @@
+ #include <QProgressBar>
+ #include <QLoggingCategory>
+ #include <QLocale>
++#include <QWebEngineCertificateError>
+
+ #include "common/utility.h"
+
diff --git a/files/fix-login-crash.patch b/files/fix-login-crash.patch
new file mode 100644
--- /dev/null
+++ b/files/fix-login-crash.patch
@@ -0,0 +1,85 @@
+From 09b0055dc3fe8ffae64dae7af9f522ed12ebdea8 Mon Sep 17 00:00:00 2001
+From: Chih-Hsuan Yen <yen@chyen.cc>
+Date: Wed, 19 Dec 2018 21:44:54 +0800
+Subject: [PATCH] Make sure _profile and _page are deleted in the correct order
+
+Inspired by https://github.com/electron/electron/pull/15028
+
+Closes https://github.com/nextcloud/desktop/issues/941
+Closes https://github.com/nextcloud/desktop/issues/950
+---
+ src/gui/creds/webflowcredentialsdialog.cpp | 8 ++++++++
+ src/gui/creds/webflowcredentialsdialog.h | 3 +++
+ src/gui/wizard/webview.cpp | 13 +++++++++++++
+ src/gui/wizard/webview.h | 1 +
+ 4 files changed, 25 insertions(+)
+
+diff --git a/src/gui/creds/webflowcredentialsdialog.cpp b/src/gui/creds/webflowcredentialsdialog.cpp
+index 85dd87451..2d22ba06e 100644
+--- 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);
+ }
+diff --git a/src/gui/creds/webflowcredentialsdialog.h b/src/gui/creds/webflowcredentialsdialog.h
+index 84ed4ea12..9849ee3a4 100644
+--- 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);
+
+diff --git a/src/gui/wizard/webview.cpp b/src/gui/wizard/webview.cpp
+index 1c6a74363..929b61205 100644
+--- a/src/gui/wizard/webview.cpp
++++ b/src/gui/wizard/webview.cpp
+@@ -105,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) {
+
+diff --git a/src/gui/wizard/webview.h b/src/gui/wizard/webview.h
+index e0b93ec84..93baf6b59 100644
+--- 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:
diff --git a/package.yml b/package.yml
--- a/package.yml
+++ b/package.yml
@@ -1,6 +1,6 @@
name : nextcloud-client
version : 2.5.1
-release : 7
+release : 8
source :
- https://github.com/nextcloud/desktop/archive/v2.5.1.tar.gz : 48be2556f4fddb956ad31e954be5f9c73482e936a80ec0efaeb30549dcd81f19
license : GPL-2.0-or-later
@@ -35,6 +35,8 @@
setup : |
# No, you don't require 1.1 Nextcloud, don't lie to me.
sed -i 's:OpenSSL 1.1:OpenSSL 1.0:g' CMakeLists.txt
+ %patch -p1 < $pkgfiles/fix-build-with-qt5.12.patch
+ %patch -p1 < $pkgfiles/fix-login-crash.patch
%cmake_ninja -DUNIT_TESTING=true -DBUILD_SHELL_INTEGRATION_DOLPHIN=true
build : |
%ninja_build
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
--- a/pspec_x86_64.xml
+++ b/pspec_x86_64.xml
@@ -2,8 +2,8 @@
<Source>
<Name>nextcloud-client</Name>
<Packager>
- <Name>Maxime Auvy</Name>
- <Email>maxime.auvy@gmail.com</Email>
+ <Name>Justin Berthault</Name>
+ <Email>justin.berthault@zaclys.net</Email>
</Packager>
<License>GPL-2.0-or-later</License>
<PartOf>network.download</PartOf>
@@ -147,7 +147,7 @@
<Description xml:lang="en">Nextcloud client enables you to connect to your private Nextcloud Server. With it you can create directories in your home directory, and keep the contents of those directories synced with the server. Simply copy a file into the directory and the desktop synchronisation client does the rest.</Description>
<PartOf>programming.devel</PartOf>
<RuntimeDependencies>
- <Dependency release="7">nextcloud-client</Dependency>
+ <Dependency release="8">nextcloud-client</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include/nextcloudsync/creds/abstractcredentials.h</Path>
@@ -167,7 +167,7 @@
<Description xml:lang="en">Dolphin file manager integration for the Nextcloud client.</Description>
<PartOf>network.download</PartOf>
<RuntimeDependencies>
- <Dependency releaseFrom="7">nextcloud-client</Dependency>
+ <Dependency releaseFrom="8">nextcloud-client</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib64/libnextclouddolphinpluginhelper.so</Path>
@@ -177,12 +177,12 @@
</Files>
</Package>
<History>
- <Update release="7">
- <Date>2019-02-11</Date>
+ <Update release="8">
+ <Date>2019-02-26</Date>
<Version>2.5.1</Version>
<Comment>Packaging update</Comment>
- <Name>Maxime Auvy</Name>
- <Email>maxime.auvy@gmail.com</Email>
+ <Name>Justin Berthault</Name>
+ <Email>justin.berthault@zaclys.net</Email>
</Update>
</History>
</PISI>
\ No newline at end of file

File Metadata

Mime Type
text/plain
Expires
Fri, Aug 11, 2:45 PM (3 h, 6 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5860143
Default Alt Text
D5538.diff (7 KB)

Event Timeline