kio, fix kde bug 360488

This commit is contained in:
AlmAck 2016-03-30 22:43:32 +01:00
parent a92acc91bc
commit ece2a7236b
2 changed files with 63 additions and 8 deletions

View File

@ -0,0 +1,54 @@
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

View File

@ -3,7 +3,7 @@ source ../frameworks.conf
pkgname=kio
pkgver=${KFVersion}
pkgrel=2
pkgrel=3
pkgdesc='Resource and network access abstraction'
arch=('x86_64')
url='https://projects.kde.org/projects/frameworks/kio'
@ -15,11 +15,17 @@ checkdepends=('xorg-server-xvfb' 'openbox')
groups=('kf5')
install=kio.install
options=("debug")
source=("${KFServer}/${pkgname}-${pkgver}.tar.xz")
sha256sums=( $(getSum ${pkgname}) )
source=("${KFServer}/${pkgname}-${pkgver}.tar.xz"
'0001-Fix-crash-in-rename-dialog.patch')
sha256sums=( $(getSum ${pkgname})
'1d2f48f859521f3ded1c0fa1211fccea22a52df41ac253e40c295569d534047c')
prepare() {
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() {
@ -31,9 +37,4 @@ build() {
package() {
cd build
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*
}