4.6.80
This commit is contained in:
parent
6fba052a9f
commit
8a72ede39a
|
@ -1,2 +1,3 @@
|
|||
/kdelibs-4.6.2.tar.bz2
|
||||
/kdelibs-4.6.3.tar.bz2
|
||||
/kdelibs-4.6.80.tar.bz2
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff -up kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp.branding kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp
|
||||
--- kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp.branding 2010-11-05 05:48:26.000000000 -0500
|
||||
+++ kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp 2010-11-20 10:42:54.223363491 -0600
|
||||
@@ -87,7 +87,7 @@ QL1S("Mozilla/5.0 (compatible; Konqueror
|
||||
QString::number(KDE::versionMajor()) % QL1C('.') % QString::number(KDE::versionMinor()) % \
|
||||
X % QL1S(") KHTML/") % \
|
||||
QString::number(KDE::versionMajor()) % QL1C('.') % QString::number(KDE::versionMinor()) % \
|
||||
-QL1C('.') % QString::number(KDE::versionRelease()) % QL1S(" (like Gecko)")
|
||||
+QL1C('.') % QString::number(KDE::versionRelease()) % QL1S(" (like Gecko) Fedora/@@VERSION_RELEASE@@")
|
||||
|
||||
#define PRIVATE_DATA \
|
||||
KProtocolManagerPrivate *d = kProtocolManagerPrivate
|
|
@ -1,114 +0,0 @@
|
|||
commit a8d16682c31ef523ffebba6e19283a19cd5f5627
|
||||
Author: Aaron Seigo <aseigo@kde.org>
|
||||
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<KIconLoader> mIconLoader;
|
||||
};
|
||||
|
||||
inline KIconEngine::~KIconEngine()
|
|
@ -1,27 +0,0 @@
|
|||
commit 92db24adfa941003db1d885df01157056617f30b
|
||||
Author: Maks Orlovich <maksim@kde.org>
|
||||
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<KIO::TransferJob *>(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");
|
|
@ -0,0 +1,11 @@
|
|||
diff -up kdelibs-4.6.80/kio/kio/kprotocolmanager.cpp.branding kdelibs-4.6.80/kio/kio/kprotocolmanager.cpp
|
||||
--- kdelibs-4.6.80/kio/kio/kprotocolmanager.cpp.branding 2011-05-20 22:24:54.000000000 +0200
|
||||
+++ kdelibs-4.6.80/kio/kio/kprotocolmanager.cpp 2011-05-27 14:18:43.999356195 +0200
|
||||
@@ -645,6 +645,7 @@ QString KProtocolManager::defaultUserAge
|
||||
d->useragent += QString::number(KDE::versionMajor());
|
||||
d->useragent += QL1C('.');
|
||||
d->useragent += QString::number(KDE::versionMinor());
|
||||
+ d->useragent += QL1C(" Fedora/@@VERSION_RELEASE@@");
|
||||
}
|
||||
else
|
||||
{
|
|
@ -1,8 +1,7 @@
|
|||
Index: solid/solid/CMakeLists.txt
|
||||
===================================================================
|
||||
--- solid/solid/CMakeLists.txt (revision 1211253)
|
||||
+++ solid/solid/CMakeLists.txt (working copy)
|
||||
@@ -39,7 +39,6 @@
|
||||
diff -up kdelibs-4.6.80/solid/solid/CMakeLists.txt.halectomy kdelibs-4.6.80/solid/solid/CMakeLists.txt
|
||||
--- kdelibs-4.6.80/solid/solid/CMakeLists.txt.halectomy 2011-05-20 22:24:54.000000000 +0200
|
||||
+++ kdelibs-4.6.80/solid/solid/CMakeLists.txt 2011-05-27 14:46:20.350312427 +0200
|
||||
@@ -39,7 +39,6 @@ configure_file(config-processor.h.cmake
|
||||
|
||||
file(MAKE_DIRECTORY
|
||||
${CMAKE_CURRENT_BINARY_DIR}/backends/fakehw
|
||||
|
@ -10,7 +9,7 @@ Index: solid/solid/CMakeLists.txt
|
|||
${CMAKE_CURRENT_BINARY_DIR}/backends/udev
|
||||
${CMAKE_CURRENT_BINARY_DIR}/backends/wmi
|
||||
)
|
||||
@@ -195,33 +194,6 @@
|
||||
@@ -199,33 +198,6 @@ if(NOT WIN32 AND NOT APPLE)
|
||||
endif( UDEV_FOUND )
|
||||
|
||||
|
||||
|
@ -44,7 +43,7 @@ Index: solid/solid/CMakeLists.txt
|
|||
message(STATUS "Building Solid UPower backend." )
|
||||
set(solid_LIB_SRCS ${solid_LIB_SRCS}
|
||||
backends/upower/upowermanager.cpp
|
||||
@@ -249,15 +221,6 @@
|
||||
@@ -253,16 +225,6 @@ if(NOT WIN32 AND NOT APPLE)
|
||||
)
|
||||
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
|
||||
|
@ -52,6 +51,7 @@ Index: solid/solid/CMakeLists.txt
|
|||
- set(solid_LIB_SRCS ${solid_LIB_SRCS}
|
||||
- backends/fstab/fstabmanager.cpp
|
||||
- backends/fstab/fstabdevice.cpp
|
||||
- backends/fstab/fstabnetworkshare.cpp
|
||||
- backends/fstab/fstabstorageaccess.cpp
|
||||
- backends/fstab/fstabhandling.cpp
|
||||
- backends/fstab/fstabwatcher.cpp
|
||||
|
@ -60,10 +60,9 @@ Index: solid/solid/CMakeLists.txt
|
|||
endif(NOT WIN32 AND NOT APPLE)
|
||||
|
||||
if(APPLE)
|
||||
Index: solid/solid/managerbase.cpp
|
||||
===================================================================
|
||||
--- solid/solid/managerbase.cpp (revision 1211253)
|
||||
+++ solid/solid/managerbase.cpp (working copy)
|
||||
diff -up kdelibs-4.6.80/solid/solid/managerbase.cpp.halectomy kdelibs-4.6.80/solid/solid/managerbase.cpp
|
||||
--- kdelibs-4.6.80/solid/solid/managerbase.cpp.halectomy 2011-05-20 22:24:54.000000000 +0200
|
||||
+++ kdelibs-4.6.80/solid/solid/managerbase.cpp 2011-05-27 14:43:22.367821121 +0200
|
||||
@@ -30,7 +30,6 @@
|
||||
#if defined (Q_OS_MAC)
|
||||
#include "backends/iokit/iokitmanager.h"
|
||||
|
@ -81,7 +80,7 @@ Index: solid/solid/managerbase.cpp
|
|||
#elif defined (Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
|
||||
#include "backends/wmi/wmimanager.h"
|
||||
#endif
|
||||
@@ -71,22 +68,12 @@
|
||||
@@ -71,22 +68,12 @@ void Solid::ManagerBasePrivate::loadBack
|
||||
# elif defined(Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
|
||||
m_backends << new Solid::Backends::Wmi::WmiManager(0);
|
||||
|
|
@ -1,18 +1,18 @@
|
|||
diff -up kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp.kstandarddirs kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp
|
||||
--- kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp.kstandarddirs 2010-11-20 16:04:10.456373049 -0600
|
||||
+++ kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp 2010-11-20 16:05:09.356363480 -0600
|
||||
@@ -1125,7 +1125,9 @@ QStringList KStandardDirs::KStandardDirs
|
||||
diff -up kdelibs-4.6.80/kdecore/kernel/kstandarddirs.cpp.kstandarddirs kdelibs-4.6.80/kdecore/kernel/kstandarddirs.cpp
|
||||
--- kdelibs-4.6.80/kdecore/kernel/kstandarddirs.cpp.kstandarddirs 2011-05-20 22:24:54.000000000 +0200
|
||||
+++ kdelibs-4.6.80/kdecore/kernel/kstandarddirs.cpp 2011-05-27 14:33:01.445487773 +0200
|
||||
@@ -1152,7 +1152,9 @@ QStringList KStandardDirs::KStandardDirs
|
||||
pit != prefixList->end();
|
||||
++pit)
|
||||
{
|
||||
- if((*pit)!=installprefix||installdir.isEmpty())
|
||||
+ // "exe" never has a custom install path, and the check triggers
|
||||
+ // a false positive due to the libexecdir patch
|
||||
+ if((*pit)!=installprefix||installdir.isEmpty()||!strcmp("exe", type))
|
||||
{
|
||||
- if((*pit)!=installprefix||installdir.isEmpty())
|
||||
+ // "exe" never has a custom install path, and the check triggers
|
||||
+ // a false positive due to the libexecdir patch
|
||||
+ if((*pit)!=installprefix||installdir.isEmpty()||!strcmp("exe", type))
|
||||
{
|
||||
for (QStringList::ConstIterator it = dirs.constBegin();
|
||||
it != dirs.constEnd(); ++it)
|
||||
@@ -1143,6 +1145,11 @@ QStringList KStandardDirs::KStandardDirs
|
||||
@@ -1170,6 +1172,11 @@ QStringList KStandardDirs::KStandardDirs
|
||||
if ((local || testdir.exists()) && !candidates.contains(path))
|
||||
candidates.append(path);
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ diff -up kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp.kstandarddirs kdelibs-4
|
|||
+ // hack) - we want /etc/kde after the local config paths
|
||||
+ // and before the ones in /usr (including kde-profile)
|
||||
+ if (local && !strcmp("config", type))
|
||||
+ candidates.append(QLatin1String("/etc/kde/"));
|
||||
+ candidates.append(QLatin1String("/etc/kde/"));
|
||||
local = false;
|
||||
}
|
||||
else
|
||||
else
|
21
kdelibs.spec
21
kdelibs.spec
|
@ -15,8 +15,8 @@
|
|||
%endif
|
||||
|
||||
Summary: KDE Libraries
|
||||
Version: 4.6.3
|
||||
Release: 5%{?dist}
|
||||
Version: 4.6.80
|
||||
Release: 1%{?dist}
|
||||
|
||||
Name: kdelibs
|
||||
Epoch: 6
|
||||
|
@ -65,7 +65,7 @@ Patch2: kdelibs-4.2.85-kde149705.patch
|
|||
# kdepimlibs-apidocs against
|
||||
Patch8: kdelibs-4.3.90-install_all_css.patch
|
||||
# add Fedora/V-R to KHTML UA string
|
||||
Patch9: kdelibs-4.5.80-branding.patch
|
||||
Patch9: kdelibs-4.6.80-branding.patch
|
||||
# don't cache kdeglobals paths because they change after profile directories
|
||||
# are loaded from kde4rc
|
||||
Patch10: kdelibs-4.1.72-no-cache-kdeglobals-paths.patch
|
||||
|
@ -75,7 +75,7 @@ Patch12: kdelibs-4.1.0-xdg-menu.patch
|
|||
# patch KStandardDirs to use %{_libexecdir}/kde4 instead of %{_libdir}/kde4/libexec
|
||||
Patch14: kdelibs-4.5.80-libexecdir.patch
|
||||
# kstandarddirs changes: search /etc/kde, find %{_kde4_libexecdir}
|
||||
Patch18: kdelibs-4.5.80-kstandarddirs.patch
|
||||
Patch18: kdelibs-4.6.80-kstandarddirs.patch
|
||||
# COMMENT ME PLEASE
|
||||
Patch20: kdelibs-4.1.70-cmake.patch
|
||||
# disable drkonqi by default, RHEL prefers/wants abrt
|
||||
|
@ -96,10 +96,6 @@ Patch50: kdelibs-4.5.1-knewstuff_gpg2.patch
|
|||
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
|
||||
|
||||
## security fix
|
||||
# Not Upstreamed? why not ? -- Rex
|
||||
|
@ -107,7 +103,7 @@ Patch200: kdelibs-4.3.1-CVE-2009-2702.patch
|
|||
|
||||
## Fedora specific patches
|
||||
# make forcefully hal-free build
|
||||
Patch300: kdelibs-4.5.90-halectomy.patch
|
||||
Patch300: kdelibs-4.6.80-halectomy.patch
|
||||
|
||||
|
||||
%if 0%{?fedora} && 0%{?fedora} < 13
|
||||
|
@ -286,15 +282,13 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
|
|||
%patch51 -p1 -b .uri_mimetypes
|
||||
|
||||
# upstream patches
|
||||
%patch100 -p1 -b .kde258706
|
||||
%patch101 -p1 -b .kde272466
|
||||
|
||||
# security fix
|
||||
%patch200 -p1 -b .CVE-2009-2702
|
||||
|
||||
# Fedora patches
|
||||
%if 0%{?halectomy}
|
||||
%patch300 -p0 -b .halectomy
|
||||
%patch300 -p1 -b .halectomy
|
||||
%endif
|
||||
|
||||
|
||||
|
@ -543,6 +537,9 @@ rm -rf %{buildroot}
|
|||
|
||||
|
||||
%changelog
|
||||
* Fri May 27 2011 Jaroslav Reznik <jreznik@redhat.com> 4.6.80-1
|
||||
- 4.6.80 (beta1)
|
||||
|
||||
* Tue May 24 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> 4.6.3-5
|
||||
- fix kio regression causing requests submitted twice (#707146, kde#272466)
|
||||
|
||||
|
|
Loading…
Reference in New Issue