Hello community,

here is the log from the commit of package kdesvn for openSUSE:Factory checked 
in at 2017-05-22 10:48:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdesvn (Old)
 and      /work/SRC/openSUSE:Factory/.kdesvn.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdesvn"

Mon May 22 10:48:18 2017 rev:63 rq:497008 version:2.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdesvn/kdesvn.changes    2017-02-15 
10:04:53.508990633 +0100
+++ /work/SRC/openSUSE:Factory/.kdesvn.new/kdesvn.changes       2017-05-22 
10:49:08.062952897 +0200
@@ -1,0 +2,6 @@
+Sat May 20 13:35:28 UTC 2017 - [email protected]
+
+- Add fix-crash.patch to fix a crash when there's a '@' in the path
+  (kde#375655)
+
+-------------------------------------------------------------------

New:
----
  fix-crash.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kdesvn.spec ++++++
--- /var/tmp/diff_new_pack.WMzo3o/_old  2017-05-22 10:49:08.590878487 +0200
+++ /var/tmp/diff_new_pack.WMzo3o/_new  2017-05-22 10:49:08.594877924 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package kdesvn
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -26,6 +26,8 @@
 Source:         %{name}-%{version}.tar.xz
 # PATCH-FIX-UPSTREAM fix-startup.patch boo#1021486 -- fixes starting kdesvn 
from the application menu
 Patch:          fix-startup.patch
+# PATCH-FIX-UPSTREAM fix-crash.patch kde#375655 -- fixes crash when there's a 
'@' in the path
+Patch1:         fix-crash.patch
 BuildRequires:  extra-cmake-modules
 BuildRequires:  fdupes
 BuildRequires:  kbookmarks-devel
@@ -66,6 +68,7 @@
 %prep
 %setup -q
 %patch -p1
+%patch1 -p1
 
 %build
   %cmake_kf5 -d build

++++++ fix-crash.patch ++++++
>From 921e6f656a265cf51fdde5b536e3d7acbf168a05 Mon Sep 17 00:00:00 2001
From: Christian Ehrlicher <[email protected]>
Date: Mon, 27 Feb 2017 19:47:11 +0100
Subject: Bug 375655 - KDESVN related crash perhaps while right-clicking in
 Dolphin This happens when a '@' is in the path - '@' is interpreted as the
 revision separator inside subversion and must be quoted (with an additional
 '@' at the end)

---
 src/kdesvnd/kdesvnd.cpp     | 12 +++++++++---
 src/svnqt/client_status.cpp |  4 ++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/kdesvnd/kdesvnd.cpp b/src/kdesvnd/kdesvnd.cpp
index 9f9ea7d..d0382db 100644
--- a/src/kdesvnd/kdesvnd.cpp
+++ b/src/kdesvnd/kdesvnd.cpp
@@ -77,7 +77,10 @@ QStringList kdesvnd::getTopLevelActionMenu(const QStringList 
&urlList) const
     QList<QUrl> urls;
     urls.reserve(urlList.size());
     Q_FOREACH(const QString &str, urlList) {
-        urls += QUrl(str);
+        if (str.contains(QLatin1Char('@')))
+            urls += QUrl(str + QLatin1Char('@'));
+        else
+            urls += QUrl(str);
     }
 
     return getActionMenu(urls, true);
@@ -89,7 +92,10 @@ QStringList kdesvnd::getActionMenu(const QStringList 
&urlList) const
     QList<QUrl> urls;
     urls.reserve(urlList.size());
     Q_FOREACH(const QString &str, urlList) {
-        urls += QUrl(str);
+        if (str.contains(QLatin1Char('@')))
+            urls += QUrl(str + QLatin1Char('@'));
+        else
+            urls += QUrl(str);
     }
     return getActionMenu(urls, false);
 }
@@ -170,7 +176,7 @@ QStringList kdesvnd::getActionMenu(const QList<QUrl> &list, 
bool toplevel) const
 QStringList kdesvnd::getSingleActionMenu(const QString &what) const
 {
     QList<QUrl> l;
-    l.append(QUrl(what));
+    l.append(QUrl(what.contains(QLatin1Char('@')) ? what + QLatin1Char('@') : 
what));
     return getActionMenu(l, false);
 }
 
diff --git a/src/svnqt/client_status.cpp b/src/svnqt/client_status.cpp
index 53b6206..72b21db 100644
--- a/src/svnqt/client_status.cpp
+++ b/src/svnqt/client_status.cpp
@@ -419,6 +419,10 @@ Client_impl::info(const Path &_p,
                                _buf,
                                pool);
     checkErrorThrow(error);
+    if (!truepath)
+    {
+        throw ClientException("no path given!");
+    }
     if (peg_revision.kind() == svn_opt_revision_unspecified) {
         if ((svn_path_is_url(_p.cstr())) && (pegr.kind == 
svn_opt_revision_unspecified)) {
             pegr.kind = svn_opt_revision_head;
-- 
cgit v0.11.2


Reply via email to