Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15
kdesvn
fix-crash.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fix-crash.patch of Package kdesvn
From 921e6f656a265cf51fdde5b536e3d7acbf168a05 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher <Ch.Ehrlicher@gmx.de> 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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor