From 5bb5ea39afd896e2afe9447e55fd73b6220b53cc Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Mon, 6 Jun 2011 22:42:32 +0200 Subject: [PATCH] 4.6.4 --- .gitignore | 1 + kdelibs-4.6.3-kde258706.patch | 114 ------------------ ...4.6.3-kio-double-requests-kde#272466.patch | 27 ----- kdelibs.spec | 17 ++- sources | 2 +- 5 files changed, 9 insertions(+), 152 deletions(-) delete mode 100644 kdelibs-4.6.3-kde258706.patch delete mode 100644 kdelibs-4.6.3-kio-double-requests-kde#272466.patch diff --git a/.gitignore b/.gitignore index ea33c81..1e25706 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /kdelibs-4.6.2.tar.bz2 /kdelibs-4.6.3.tar.bz2 +/kdelibs-4.6.4.tar.bz2 diff --git a/kdelibs-4.6.3-kde258706.patch b/kdelibs-4.6.3-kde258706.patch deleted file mode 100644 index e681582..0000000 --- a/kdelibs-4.6.3-kde258706.patch +++ /dev/null @@ -1,114 +0,0 @@ -commit a8d16682c31ef523ffebba6e19283a19cd5f5627 -Author: Aaron Seigo -Date: Fri May 6 15:19:09 2011 +0200 - - use a QWeakPointer on the KIconLoader passed in as there are no lifetime guarantees - - usually KGlobal::iconLoader() is used, so this isn't an issue seen very often. - however, when a local KIconLoader is created, it is easy to get QIcons with a - KIconEngine that has a bad KIconLoader pointer in them. particularly as QIcon - is implicitly shared and easily passed around. the StatusNotifier Plasma DataEngine - was triggering this, though it would be trivial to run into this problem again - anytime a KIconLoader is created locally - - thankfully, QWeakPointer does the job and is very fast and light. (confirmed - both with my own testing and confirmation from Thiago). - - massive thanks to Michael Pyne for detecting the cause of the problem via Valgrind. - - BUG:258706 - -diff --git a/kdeui/icons/kiconengine.cpp b/kdeui/icons/kiconengine.cpp -index 087ba1b..73e092c 100644 ---- a/kdeui/icons/kiconengine.cpp -+++ b/kdeui/icons/kiconengine.cpp -@@ -27,16 +27,16 @@ - - - KIconEngine::KIconEngine(const QString& iconName, KIconLoader* iconLoader, const QStringList& overlays) -+ : mIconName(iconName), -+ mIconLoader(iconLoader), -+ mOverlays(overlays) - { -- mIconName = iconName; -- mIconLoader = iconLoader; -- mOverlays = overlays; - } - - KIconEngine::KIconEngine(const QString& iconName, KIconLoader* iconLoader) -+ : mIconName(iconName), -+ mIconLoader(iconLoader) - { -- mIconName = iconName; -- mIconLoader = iconLoader; - } - - static inline int qIconModeToKIconState( QIcon::Mode mode ) -@@ -65,8 +65,12 @@ QSize KIconEngine::actualSize( const QSize & size, QIcon::Mode mode, QIcon::Stat - return QSize(iconSize, iconSize); - } - --void KIconEngine::paint( QPainter * painter, const QRect & rect, QIcon::Mode mode, QIcon::State state ) -+void KIconEngine::paint(QPainter * painter, const QRect & rect, QIcon::Mode mode, QIcon::State state) - { -+ if (!mIconLoader) { -+ return; -+ } -+ - Q_UNUSED(state) - - const int kstate = qIconModeToKIconState(mode); -@@ -80,20 +84,27 @@ void KIconEngine::paint( QPainter * painter, const QRect & rect, QIcon::Mode mod - } - - const int iconSize = qMin(rect.width(), rect.height()); -- const QPixmap pix = mIconLoader->loadIcon(mIconName, group, iconSize, kstate, mOverlays); -+ const QPixmap pix = mIconLoader.data()->loadIcon(mIconName, group, iconSize, kstate, mOverlays); - painter->drawPixmap(rect, pix); - } - --QPixmap KIconEngine::pixmap( const QSize & size, QIcon::Mode mode, QIcon::State state ) -+QPixmap KIconEngine::pixmap(const QSize & size, QIcon::Mode mode, QIcon::State state) - { - Q_UNUSED(state) - -+ if (!mIconLoader) { -+ QPixmap pm(size); -+ pm.fill(Qt::transparent); -+ return pm; -+ } -+ - const int kstate = qIconModeToKIconState(mode); - const int iconSize = qMin(size.width(), size.height()); -- QPixmap pix = mIconLoader->loadIcon(mIconName, KIconLoader::Desktop, iconSize, kstate, mOverlays); -+ QPixmap pix = mIconLoader.data()->loadIcon(mIconName, KIconLoader::Desktop, iconSize, kstate, mOverlays); - -- if(pix.size() == size) -+ if (pix.size() == size) { - return pix; -+ } - - QPixmap pix2(size); - pix2.fill(QColor(0,0,0,0)); -@@ -111,7 +122,7 @@ QString KIconEngine::key() const - - QIconEngineV2 *KIconEngine::clone() const - { -- return new KIconEngine(mIconName, mIconLoader, mOverlays); -+ return new KIconEngine(mIconName, mIconLoader.data(), mOverlays); - } - - bool KIconEngine::read(QDataStream &in) -diff --git a/kdeui/icons/kiconengine_p.h b/kdeui/icons/kiconengine_p.h -index 8095d2a..9fba63c 100644 ---- a/kdeui/icons/kiconengine_p.h -+++ b/kdeui/icons/kiconengine_p.h -@@ -75,7 +75,7 @@ class KIconEngine : public QIconEngineV2 - private: - QString mIconName; - QStringList mOverlays; -- KIconLoader* mIconLoader; -+ QWeakPointer mIconLoader; - }; - - inline KIconEngine::~KIconEngine() diff --git a/kdelibs-4.6.3-kio-double-requests-kde#272466.patch b/kdelibs-4.6.3-kio-double-requests-kde#272466.patch deleted file mode 100644 index 2672d65..0000000 --- a/kdelibs-4.6.3-kio-double-requests-kde#272466.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 92db24adfa941003db1d885df01157056617f30b -Author: Maks Orlovich -Date: Sun May 8 14:39:03 2011 -0400 - - Fix the job-on-hold reuse logic, which caused the double-POST problem) - - adawit, could you please at least READ what you're backporting if you are - going to be this aggressive? Or better yet, please don't backport anything - that's not fixing a critical bug or is trivial, as per: - http://techbase.kde.org/Policies/Minor_Point_Release_Policy - - CCMAIL: adawit@kde.org - BUG: 272466 - -diff --git a/kio/kio/scheduler.cpp b/kio/kio/scheduler.cpp -index 55da053..9f5607e 100644 ---- a/kio/kio/scheduler.cpp -+++ b/kio/kio/scheduler.cpp -@@ -1151,7 +1151,7 @@ Slave *SchedulerPrivate::heldSlaveForJob(SimpleJob *job) - bool canJobReuse = (cmd == CMD_GET || cmd == CMD_MULTI_GET); - - if (KIO::TransferJob *tJob = qobject_cast(job)) { -- canJobReuse = cmd == (canJobReuse || cmd == CMD_SPECIAL); -+ canJobReuse = (canJobReuse || cmd == CMD_SPECIAL); - if (canJobReuse) { - KIO::MetaData outgoing = tJob->outgoingMetaData(); - const QString resume = outgoing.value("resume"); diff --git a/kdelibs.spec b/kdelibs.spec index 2216e89..2318799 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -15,8 +15,8 @@ %endif Summary: KDE Libraries -Version: 4.6.3 -Release: 5%{?dist} +Version: 4.6.4 +Release: 1%{?dist} Name: kdelibs Epoch: 6 @@ -95,11 +95,7 @@ Patch50: kdelibs-4.5.1-knewstuff_gpg2.patch # https://git.reviewboard.kde.org/r/101231/ Patch51: kdelibs-4.6.2-uri_mimetypes.patch -## upstream -# https://projects.kde.org/projects/kde/kdelibs/repository/revisions/a8d16682c31ef523ffebba6e19283a19cd5f5627/diff -Patch100: kdelibs-4.6.3-kde258706.patch -# https://projects.kde.org/projects/kde/kdelibs/repository/revisions/92db24adfa941003db1d885df01157056617f30b/diff -Patch101: kdelibs-4.6.3-kio-double-requests-kde#272466.patch +## 4.6 upstream ## security fix # Not Upstreamed? why not ? -- Rex @@ -285,9 +281,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage %patch50 -p1 -b .knewstuff_gpg2 %patch51 -p1 -b .uri_mimetypes -# upstream patches -%patch100 -p1 -b .kde258706 -%patch101 -p1 -b .kde272466 +# 4.6 upstream patches # security fix %patch200 -p1 -b .CVE-2009-2702 @@ -543,6 +537,9 @@ rm -rf %{buildroot} %changelog +* Mon Jun 06 2011 Than Ngo - 4.6.4-1 +- 4.6.4 + * Tue May 24 2011 Kevin Kofler 4.6.3-5 - fix kio regression causing requests submitted twice (#707146, kde#272466) diff --git a/sources b/sources index 92d8a90..76ec247 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -923a7e8f89aa504647e14472b24b8c0a kdelibs-4.6.3.tar.bz2 +d38a8bf5b2002f9014727cec4395ba2a kdelibs-4.6.4.tar.bz2