Hello community, here is the log from the commit of package kdelibs4 for openSUSE:Factory checked in at 2013-08-18 22:21:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdelibs4 (Old) and /work/SRC/openSUSE:Factory/.kdelibs4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "kdelibs4" Changes: -------- --- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4-apidocs.changes 2013-08-16 13:48:51.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4-apidocs.changes 2013-08-18 22:21:22.000000000 +0200 @@ -1,0 +2,9 @@ +Sat Aug 17 20:52:53 UTC 2013 - hrvoje.senjan@gmail.com + +- Added two patches from upstream 4.11 branch: + 0001-when-the-request-theme-does-not-exist-delete-all-old.patch + fixes crash on non-existing plasma themes (kde#320855) and + 0002-Fix-crash-when-failing-to-get-audio-CD-block-device.patch + fixes crash when failing to get audio CD block device (kde#314544) + +------------------------------------------------------------------- kdelibs4.changes: same change New: ---- 0001-when-the-request-theme-does-not-exist-delete-all-old.patch 0002-Fix-crash-when-failing-to-get-audio-CD-block-device.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdelibs4.spec ++++++ --- /var/tmp/diff_new_pack.cE3ad3/_old 2013-08-18 22:21:23.000000000 +0200 +++ /var/tmp/diff_new_pack.cE3ad3/_new 2013-08-18 22:21:23.000000000 +0200 @@ -104,6 +104,10 @@ # this patch exlcudes qtuitools symbols from libs that link to qtuitools, as otherwise users of # those libs are crashing(bnc#819437, kde#303576, kde#231077, qtbug#437) Patch11: exclude-qtuitools-symbols-from-public-libraries.patch +# PATCH-FIX-UPSTREAM 0001-when-the-request-theme-does-not-exist-delete-all-old.patch -- fixes crash on non-existing plasma themes (kde#320855) +Patch100: 0001-when-the-request-theme-does-not-exist-delete-all-old.patch +# PATCH-FIX-UPSTREAM 0002-Fix-crash-when-failing-to-get-audio-CD-block-device.patch -- fixes crash when failing to get audio CD block device (kde#314544) +Patch101: 0002-Fix-crash-when-failing-to-get-audio-CD-block-device.patch PreReq: permissions Requires: soprano >= %( echo `rpm -q --queryformat '%{VERSION}' libsoprano-devel`) Recommends: strigi >= %( echo `rpm -q --queryformat '%{VERSION}' strigi-devel`) @@ -168,6 +172,8 @@ %patch9 %patch10 %patch11 -p1 +%patch100 -p1 +%patch101 -p1 %build EXTRA_FLAGS="-DLIB_INSTALL_DIR=%{_kde4_libdir} \ ++++++ 0001-when-the-request-theme-does-not-exist-delete-all-old.patch ++++++
From 59e88c777b92935cc95f28e52f84fe97563dec9d Mon Sep 17 00:00:00 2001 From: Aaron Seigo
Date: Wed, 14 Aug 2013 12:52:52 +0200 Subject: [PATCH 1/3] when the request theme does not exist, delete all old caches for it and don't crash
BUG:320855 --- plasma/theme.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/plasma/theme.cpp b/plasma/theme.cpp index 4554de7..cb44878 100644 --- a/plasma/theme.cpp +++ b/plasma/theme.cpp @@ -222,18 +222,25 @@ bool ThemePrivate::useCache() { if (cacheTheme && !pixmapCache) { const bool isRegularTheme = themeName != systemColorsTheme; - QString cacheFile = "plasma_theme_" + themeName; + const QString cacheFile = "plasma_theme_" + themeName; if (isRegularTheme) { + const QString cacheFileBase = cacheFile + "*.kcache"; + const QString path = KStandardDirs::locate("data", "desktoptheme/" + themeName + "/metadata.desktop"); - const KPluginInfo pluginInfo(path); + // if the path is empty, then we haven't found the theme and so + // we will leave currentCacheFileName empty, resulting in the deletion of + // *all* matching cache files + QString currentCacheFileName; + if (!path.isEmpty()) { + const KPluginInfo pluginInfo(path); + currentCacheFileName = cacheFile + "_v" + pluginInfo.version() + ".kcache"; + } - // now we check for, and remove if necessary, old caches - const QString cacheFileBase = cacheFile + "*.kcache"; - cacheFile += "_v" + pluginInfo.version(); - const QString currentCacheFileName = cacheFile + ".kcache"; + // now we check for (and remove) old caches foreach (const QString &file, KGlobal::dirs()->findAllResources("cache", cacheFileBase)) { - if (!file.endsWith(currentCacheFileName)) { + if (currentCacheFileName.isEmpty() || + !file.endsWith(currentCacheFileName)) { QFile::remove(file); } } -- 1.8.3.4 ++++++ 0002-Fix-crash-when-failing-to-get-audio-CD-block-device.patch ++++++
From 31fdb4ab1b72fa39290931f6a8934eda4eb4f636 Mon Sep 17 00:00:00 2001 From: Christoph Feck
Date: Fri, 16 Aug 2013 14:31:04 +0200 Subject: [PATCH 2/3] Fix crash when failing to get audio CD block device
For the udisks2 backend, this is already worked around in Solid, but could fail for other reasons. BUG: 314544 FIXED-IN: 4.11.1 REVIEW: 111626 --- kfile/kfileplacesitem.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/kfile/kfileplacesitem.cpp b/kfile/kfileplacesitem.cpp index 5a12486..1cb0fa5 100644 --- a/kfile/kfileplacesitem.cpp +++ b/kfile/kfileplacesitem.cpp @@ -185,8 +185,15 @@ QVariant KFilePlacesItem::deviceData(int role) const if (m_access) { return QUrl(KUrl(m_access->filePath())); } else if (m_disc && (m_disc->availableContent() & Solid::OpticalDisc::Audio)!=0) { - QString device = d.asSolid::Block()->device(); - return QUrl(QString("audiocd:/?device=%1").arg(device)); + Solid::Block *block = d.asSolid::Block(); + if (block) { + QString device = block->device(); + return QUrl(QString("audiocd:/?device=%1").arg(device)); + } + // We failed to get the block device. Assume audiocd:/ can + // figure it out, but cannot handle multiple disc drives. + // See https://bugs.kde.org/show_bug.cgi?id=314544#c40 + return QUrl(QString("audiocd:/")); } else if (m_mtp) { return QUrl(QString("mtp:udi=%1").arg(d.udi())); } else { -- 1.8.3.4 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org