Commit ece2a723 authored by AlmAck's avatar AlmAck

kio, fix kde bug 360488

parent a92acc91
From a5f62007c294220c13bb080287035aeab77ae640 Mon Sep 17 00:00:00 2001
From: Emmanuel Pescosta <emmanuelpescosta099@gmail.com>
Date: Thu, 17 Mar 2016 10:28:09 +0100
Subject: [PATCH] Fix crash in rename dialog
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
ResizePanels must only be called in case of overwrite, all other cases violate
the preconditions.
BUG: 360488
---
src/widgets/renamedialog.cpp | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/widgets/renamedialog.cpp b/src/widgets/renamedialog.cpp
index 2d456c7..cb3c0fb 100644
--- a/src/widgets/renamedialog.cpp
+++ b/src/widgets/renamedialog.cpp
@@ -105,6 +105,8 @@ public:
m_destPendingPreview = false;
m_srcPreview = 0;
m_destPreview = 0;
+ m_srcArea = Q_NULLPTR;
+ m_destArea = Q_NULLPTR;
}
void setRenameBoxText(const QString &fileName)
@@ -385,7 +387,9 @@ RenameDialog::RenameDialog(QWidget *parent, const QString &_caption,
#if 1 // without kfilemetadata
// don't wait for kfilemetadata, but wait until the layouting is done
- QMetaObject::invokeMethod(this, "resizePanels", Qt::QueuedConnection);
+ if (_options & RenameDialog_Overwrite) {
+ QMetaObject::invokeMethod(this, "resizePanels", Qt::QueuedConnection);
+ }
#endif
}
@@ -584,6 +588,11 @@ void RenameDialog::showDestPreview(const KFileItem &fileitem, const QPixmap &pix
void RenameDialog::resizePanels()
{
+ Q_ASSERT(d->m_srcArea != Q_NULLPTR);
+ Q_ASSERT(d->m_destArea != Q_NULLPTR);
+ Q_ASSERT(d->m_srcPreview != Q_NULLPTR);
+ Q_ASSERT(d->m_destPreview != Q_NULLPTR);
+
// using QDesktopWidget geometry as Kephal isn't accessible here in kdelibs
const QSize screenSize = QApplication::desktop()->availableGeometry(this).size();
QSize halfSize = d->m_srcArea->widget()->sizeHint().expandedTo(d->m_destArea->widget()->sizeHint());
--
2.7.3
...@@ -3,7 +3,7 @@ source ../frameworks.conf ...@@ -3,7 +3,7 @@ source ../frameworks.conf
pkgname=kio pkgname=kio
pkgver=${KFVersion} pkgver=${KFVersion}
pkgrel=2 pkgrel=3
pkgdesc='Resource and network access abstraction' pkgdesc='Resource and network access abstraction'
arch=('x86_64') arch=('x86_64')
url='https://projects.kde.org/projects/frameworks/kio' url='https://projects.kde.org/projects/frameworks/kio'
...@@ -15,11 +15,17 @@ checkdepends=('xorg-server-xvfb' 'openbox') ...@@ -15,11 +15,17 @@ checkdepends=('xorg-server-xvfb' 'openbox')
groups=('kf5') groups=('kf5')
install=kio.install install=kio.install
options=("debug") options=("debug")
source=("${KFServer}/${pkgname}-${pkgver}.tar.xz") source=("${KFServer}/${pkgname}-${pkgver}.tar.xz"
sha256sums=( $(getSum ${pkgname}) ) '0001-Fix-crash-in-rename-dialog.patch')
sha256sums=( $(getSum ${pkgname})
'1d2f48f859521f3ded1c0fa1211fccea22a52df41ac253e40c295569d534047c')
prepare() { prepare() {
mkdir -p build mkdir -p build
cd ${srcdir}/${pkgname}-${pkgver}
# Bug 360488 - dolphin with >=kde-frameworks-5.20 crashes when copy+paste file in same directory
patch -p1 -i ${srcdir}/0001-Fix-crash-in-rename-dialog.patch
} }
build() { build() {
...@@ -31,9 +37,4 @@ build() { ...@@ -31,9 +37,4 @@ build() {
package() { package() {
cd build cd build
make DESTDIR="${pkgdir}" install make DESTDIR="${pkgdir}" install
# the following is comment out, waiting for discision being made.
# msg 'change DuckDuckGo search'
# cd ${pkgdir}/usr/share/kservices5/searchproviders/
# sed 's/kde/chakra/g' -i duckduckgo*
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment