Hello community, here is the log from the commit of package kdelibs4.1678 for openSUSE:12.3:Update checked in at 2013-06-05 11:43:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.3:Update/kdelibs4.1678 (Old) and /work/SRC/openSUSE:12.3:Update/.kdelibs4.1678.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdelibs4.1678" Changes: -------- New Changes file: --- /dev/null 2013-05-23 01:40:31.032032505 +0200 +++ /work/SRC/openSUSE:12.3:Update/.kdelibs4.1678.new/kdelibs4-apidocs.changes 2013-06-05 11:43:16.000000000 +0200 @@ -0,0 +1,1709 @@ +------------------------------------------------------------------- +Sun May 12 15:26:36 UTC 2013 - [email protected] + +- Added exclude-qtuitools-symbols-from-public-libraries.patch: + We are using -Bsymbolic-functions link flags in kde4 macros, + so 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) + +------------------------------------------------------------------- +Fri May 10 14:00:37 UTC 2013 - [email protected] + +- Added patches from upstream: + fix-freeX11Pixmaps.patch, fixes crashing of plasma-desktop and + Amarok (kde#319137) + dont-show-passwords-contained-in-HTTP-URLs-in-error-messages.patch, + the patch fixes an old issue where password was passed in error + messages + +------------------------------------------------------------------- +Sat May 4 16:47:51 UTC 2013 - [email protected] + +- Update to 4.10.3 + * Bugfix release + * See http://www.kde.org/announcements/announce-4.10.3.php + * resolves bnc#818500 + +------------------------------------------------------------------- +Thu Apr 11 06:22:25 UTC 2013 - [email protected] + +- Added url as source. + Please see http://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Tue Apr 9 06:36:04 UTC 2013 - [email protected] + +- Drop kio_revert_slow_filesystems.patch, fixed upstream (kde#288824). + +------------------------------------------------------------------- +Mon Apr 1 19:13:48 UTC 2013 - [email protected] + +- Update to 4.10.2 + * Bugfixes +- Drop kdelibs-4.10.0-giflib5.patch, it is pushed upstream +- Replace kjs-stacklimit.diff with a correct fix + +------------------------------------------------------------------- +Sat Mar 16 20:54:16 UTC 2013 - [email protected] + +- Add kjs-stacklimit.diff: + * Fix overflow computing availableStackSize from stack limit (kde#316923) + +------------------------------------------------------------------- +Wed Mar 13 20:44:30 UTC 2013 - [email protected] + +- fix build with giflib-5 (kdelibs-4.10.0-giflib5.patch) + +------------------------------------------------------------------- +Sat Mar 2 15:31:49 UTC 2013 - [email protected] + +- Update to 4.10.1 + * Contains bug fixes. See http://www.kde.org/announcements/ + for more information + +------------------------------------------------------------------- +Thu Feb 7 18:56:22 UTC 2013 - [email protected] + +- changed clever-menu.patch: + * added method KServiceGroup::addSortOrderEntry(), needed to fix + bnc#356553 + +------------------------------------------------------------------- +Thu Jan 31 17:42:11 UTC 2013 - [email protected] + +- Update to 4.10.0 + * This is the final release for 4.10. Contains bugfixes +- Dropped make-plasma-widgets-respect-plasma-button-colors.patch, + included upstream + +------------------------------------------------------------------- +Tue Jan 29 12:17:59 UTC 2013 - [email protected] + +- Add kio_revert_slow_filesystems.patch to work around bnc#776141. + This is a workaround, reverting to KDE 4.7.3 behavior. + A fix should come from upstream (kde#288824). + +------------------------------------------------------------------- +Mon Jan 21 03:50:35 UTC 2013 - [email protected] + +- Added make-plasma-widgets-respect-plasma-button-colors.patch, + fixes kde#310389, kde#263979 + +------------------------------------------------------------------- +Thu Jan 17 07:59:34 UTC 2013 - [email protected] + +- Update to 4.9.98 + * This is the third RC release for 4.10. Contains bugfixes + +------------------------------------------------------------------- +Thu Jan 3 21:04:43 UTC 2013 - [email protected] + +- Update to 4.9.97 + * This is the second RC release for 4.10. Contains bugfixes + +------------------------------------------------------------------- +Thu Dec 27 12:21:46 UTC 2012 - [email protected] + +- Clean the BuildRequirements: + * alsa-devel, cups-devel and unzip are not required + * Minimal required versions are cmake >= 2.8.9 and Qt >= 4.8.0 + +------------------------------------------------------------------- +Wed Dec 19 18:31:05 UTC 2012 - [email protected] + +- Update to 4.9.95 + * This is the first RC release for 4.10. Contains bugfixes + +------------------------------------------------------------------- +Sat Dec 1 19:57:40 UTC 2012 - [email protected] + +- Update to 4.9.90 + * This is the second Beta release for 4.10. Contains bugfixes + +------------------------------------------------------------------- +Sun Nov 25 11:39:38 UTC 2012 - [email protected] + +- Drop patch 4_7_branch.diff as it is not used at all + +------------------------------------------------------------------- +Tue Nov 24 14:08:11 UTC 2012 - [email protected] + +- Fix the SLES build + * Replace 'BuildRequires:pkgconfig(bzip2)' + * Disable the polkit backend (polkit is not available in SLES) + * Add kdelibs4-rpmlintrc to silence the percent-in-dependency and percent-in-provides errors + (rpmlint complains about 'Requires: %{name}-branding = %{brandingversion}' and + 'Provides: %{name}-branding = %{brandingversion}') +- Remove obsolete conditions + +------------------------------------------------------------------- +Sat Nov 24 12:46:55 UTC 2012 - [email protected] + +- Update to 4.9.80 + * see http://www.kde.org/announcements/announce-4.10-beta1.php +- Remove the patches enable-solid-udisks2-backend.diff and + kdelibs4-fix-python3-install.diff as it is now included upstream + +------------------------------------------------------------------- +Sun Nov 18 16:52:05 UTC 2012 - [email protected] + +- Explicitly require pkgconfig(bzip2) for 12.3 +- Recommend media-player-info for kde#269447, kde#269451 + +------------------------------------------------------------------- +Fri Nov 2 19:06:02 UTC 2012 - [email protected] + +- Fix the path for docs in /etc/kde4rc which is used by + bundle-lang-kde-* (bnc#695108) + +------------------------------------------------------------------- +Fri Nov 2 16:44:45 UTC 2012 - [email protected] + +- Update to 4.9.3 + * see http://kde.org/announcements/announce-4.9.3.php for details + +------------------------------------------------------------------- +Thu Nov 1 09:02:07 UTC 2012 - [email protected] + +- Update the upstream patch for Python 3 installation, backporting + the work done upstream (under review) for 4.10 + +------------------------------------------------------------------- +Sat Oct 13 08:10:10 UTC 2012 - [email protected] + +- Add patch from upstream to enable correct Python 3 installation: + this is a prerequisite to provide PyKDE4 Python 3 packages. +- Currently the patch is enabled just for Factory (openSUSE 12.3) + +------------------------------------------------------------------- +Sat Sep 29 09:52:50 UTC 2012 - [email protected] + +- Update to 4.9.2 + * see http://kde.org/announcements/announce-4.9.2.php for details + +------------------------------------------------------------------- +Tue Sep 25 14:23:31 UTC 2012 - [email protected] + +- Add upstream patch to bring udisks2 support for solid. + The udisks2 solid backend will replace the udisks only on + Factory (openSUSE 12.3) + +------------------------------------------------------------------- +Thu Sep 13 20:12:03 UTC 2012 - [email protected] + +- BuildRequires: krb5-devel to enable kerberos support (bnc#780300) + +------------------------------------------------------------------- ++++ 1512 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.3:Update/.kdelibs4.1678.new/kdelibs4-apidocs.changes New Changes file: kdelibs4.changes: same change New: ---- add-suse-translations.diff baselibs.conf clever-menu.diff default-useragent.diff desktop-translations.diff dont-show-passwords-contained-in-HTTP-URLs-in-error-messages.patch exclude-qtuitools-symbols-from-public-libraries.patch fix-freeX11Pixmaps.patch fix_kdeclarative_install_location.diff flash-player-non-oss.diff hidden.desktop hotplug-kde3.diff ignore-inline-menu.diff kde3-applications.diff kde4rc kdebug-areas-update.diff kdelibs-4.10.3.tar.xz kdelibs4-apidocs.changes kdelibs4-apidocs.spec kdelibs4-rpmlintrc kdelibs4.changes kdelibs4.spec kdesu-settings.diff kjs-mark-register-stack.diff kjs-stacklimit.diff ksuseinstall.diff plasma-libs.diff pre_checkin.sh windeco-color.diff ycp.xml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdelibs4-apidocs.spec ++++++ # # spec file for package kdelibs4-apidocs # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: kdelibs4-apidocs Version: 4.10.3 Release: 0 Summary: KDE 4 API documentation License: LGPL-2.1+ Group: System/GUI/KDE Url: http://www.kde.org Source0: http://download.kde.org/stable/%{version}/src/kdelibs-%{version}.tar.xz Source1: baselibs.conf Source2: hidden.desktop Source3: ycp.xml Source4: kde4rc BuildRequires: doxygen BuildRequires: fdupes BuildRequires: graphviz # seems to be required for png output for graphviz BuildRequires: graphviz-gnome BuildRequires: kde4-filesystem BuildRequires: libqt4-devel-doc BuildRequires: xz Requires: kde4-filesystem BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %description This package includes the KDE 4 API documentation in HTML format for easy browsing. %prep %setup -q -n kdelibs-%{version} %build export QTDOCDIR=`pkg-config --variable=docdir Qt` doc/api/doxygen.sh . %install mkdir -p %{buildroot}%{_kde4_htmldir}/en cp -prf kdelibs-%{version}-apidocs %{buildroot}%{_kde4_htmldir}/en/kdelibs4-apidocs find %{buildroot} -name installdox | xargs rm -f %fdupes %{buildroot}%{_kde4_htmldir}/en/kdelibs4-apidocs %kde_post_install %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %{_kde4_htmldir}/en/kdelibs4-apidocs/ %changelog ++++++ kdelibs4.spec ++++++ ++++ 622 lines (skipped) ++++++ add-suse-translations.diff ++++++ Index: kdecore/localization/klocale_kde.cpp =================================================================== --- kdecore/localization/klocale_kde.cpp.orig +++ kdecore/localization/klocale_kde.cpp @@ -319,6 +319,9 @@ void KLocalePrivate::initMainCatalogs() m_catalogNames.append(KCatalogName(QString::fromLatin1("kdeqt"))); m_catalogNames.append(KCatalogName(QString::fromLatin1("solid_qt"))); m_catalogNames.append(KCatalogName(QString::fromLatin1("kdecalendarsystems"))); + m_catalogNames.append(KCatalogName(QString::fromLatin1("desktop_translations"))); + m_catalogNames.append(KCatalogName(QString::fromLatin1("kde4-openSUSE"))); + m_catalogNames.append(KCatalogName(QString::fromLatin1("kde4-SLE"))); m_numberOfSysCatalogs = m_catalogNames.size() - numberOfCatalogs; updateCatalogs(); // evaluate this for all languages ++++++ baselibs.conf ++++++ libkdecore4 libkde4 libksuseinstall1 ++++++ clever-menu.diff ++++++ Index: kdecore/services/kservice.cpp =================================================================== --- kdecore/services/kservice.cpp.orig +++ kdecore/services/kservice.cpp @@ -739,6 +739,12 @@ QString KService::untranslatedGenericNam return v.isValid() ? v.toString() : QString(); } + +bool KService::SuSEunimportant() const { + QVariant v = property(QString::fromLatin1("X-SuSE-Unimportant"), QVariant::Bool); + return v.isValid() && v.toBool(); +} + QString KService::parentApp() const { Q_D(const KService); QMap<QString,QVariant>::ConstIterator it = d->m_mapProps.find(QLatin1String("X-KDE-ParentApp")); Index: kdecore/services/kservicegroup.cpp =================================================================== --- kdecore/services/kservicegroup.cpp.orig +++ kdecore/services/kservicegroup.cpp @@ -29,7 +29,7 @@ #include <ksortablelist.h> #include <kdesktopfile.h> #include <kconfiggroup.h> - +#include <QDir> KServiceGroup::KServiceGroup( const QString & name ) : KSycocaEntry(*new KServiceGroupPrivate(name)) @@ -61,6 +61,11 @@ void KServiceGroupPrivate::load(const QS m_strComment = config.readEntry( "Comment" ); deleted = config.readEntry("Hidden", false ); m_bNoDisplay = desktopFile.noDisplay(); + if (directoryEntryPath.startsWith(QDir::homePath())) + m_bShortMenu = false; + else + m_bShortMenu = config.readEntry( QString::fromLatin1("X-SuSE-AutoShortMenu"), true ); + m_bGeneralDescription = config.readEntry( QString::fromLatin1("X-SuSE-GeneralDescription"), false ); m_strBaseGroupName = config.readEntry( "X-KDE-BaseGroup" ); suppressGenericNames = config.readEntry( "X-KDE-SuppressGenericNames", QStringList() ); // d->sortOrder = config.readEntry("SortOrder", QStringList()); @@ -124,6 +129,10 @@ int KServiceGroupPrivate::childCount() c { if (m_childCount == -1) { + KConfig cfg(QString::fromLatin1("kdeglobals")); + KConfigGroup global = cfg.group(QString::fromLatin1("KDE")); + bool showUnimportant = global.readEntry(QString::fromLatin1("showUnimportant"), false); + m_childCount = 0; for( KServiceGroup::List::ConstIterator it = m_serviceList.begin(); @@ -134,7 +143,8 @@ int KServiceGroupPrivate::childCount() c { KService::Ptr service = KService::Ptr::staticCast( p ); if (!service->noDisplay()) - m_childCount++; + if ( showUnimportant || !service->SuSEunimportant() ) + m_childCount++; } else if (p->isType(KST_KServiceGroup)) { @@ -219,6 +229,18 @@ QStringList KServiceGroup::suppressGener return d->suppressGenericNames; } +bool KServiceGroup::SuSEgeneralDescription() const +{ + Q_D(const KServiceGroup); + return d->m_bGeneralDescription; +} + +bool KServiceGroup::SuSEshortMenu() const +{ + Q_D(const KServiceGroup); + return d->m_bShortMenu; +} + void KServiceGroupPrivate::load( QDataStream& s ) { QStringList groupList; @@ -227,16 +249,21 @@ void KServiceGroupPrivate::load( QDataSt qint8 inlineHeader; qint8 _inlineAlias; qint8 _allowInline; + qint8 _shortMenu; + qint8 _generalDescription; s >> m_strCaption >> m_strIcon >> m_strComment >> groupList >> m_strBaseGroupName >> m_childCount >> noDisplay >> suppressGenericNames >> directoryEntryPath >> - sortOrder >> _showEmptyMenu >> inlineHeader >> _inlineAlias >> _allowInline; + sortOrder >> _showEmptyMenu >> inlineHeader >> _inlineAlias >> _allowInline >> + _shortMenu >> _generalDescription; m_bNoDisplay = (noDisplay != 0); m_bShowEmptyMenu = ( _showEmptyMenu != 0 ); m_bShowInlineHeader = ( inlineHeader != 0 ); m_bInlineAlias = ( _inlineAlias != 0 ); m_bAllowInline = ( _allowInline != 0 ); + m_bShortMenu = (_shortMenu != 0); + m_bGeneralDescription = (_generalDescription != 0); if (m_bDeep) { @@ -296,10 +323,12 @@ void KServiceGroupPrivate::save( QDataSt qint8 inlineHeader = m_bShowInlineHeader ? 1 : 0; qint8 _inlineAlias = m_bInlineAlias ? 1 : 0; qint8 _allowInline = m_bAllowInline ? 1 : 0; + qint8 _shortMenu = m_bShortMenu ? 1 : 0; s << m_strCaption << m_strIcon << m_strComment << groupList << m_strBaseGroupName << m_childCount << noDisplay << suppressGenericNames << directoryEntryPath << - sortOrder <<_showEmptyMenu <<inlineHeader<<_inlineAlias<<_allowInline; + sortOrder <<_showEmptyMenu <<inlineHeader<<_inlineAlias<<_allowInline << + _shortMenu << m_bGeneralDescription; } QList<KServiceGroup::Ptr> KServiceGroup::groupEntries(EntriesOptions options) @@ -359,6 +388,21 @@ KServiceGroup::entries(bool sort, bool e return d->entries(this, sort, excludeNoDisplay, allowSeparators, sortByGenericName); } +void KServiceGroup::addSortOrderEntry( const char *entry ) +{ + Q_D(KServiceGroup); + const QString s = QString::fromLatin1(entry); + if (!d->sortOrder.contains(s)) + d->sortOrder << s; +} + +KServiceGroup::List +KServiceGroup::SuSEsortEntries( KSortableList<KServiceGroup::SPtr,QByteArray> slist, KSortableList<KServiceGroup::SPtr,QByteArray> glist, bool excludeNoDisplay, bool allowSeparators ) +{ + Q_D(KServiceGroup); + return d->SuSEsortEntries( this, slist, glist, excludeNoDisplay, allowSeparators ); +} + static void addItem(KServiceGroup::List &sorted, const KSycocaEntry::Ptr &p, bool &addSeparator) { if (addSeparator && !sorted.isEmpty()) @@ -370,6 +414,12 @@ static void addItem(KServiceGroup::List KServiceGroup::List KServiceGroupPrivate::entries(KServiceGroup *group, bool sort, bool excludeNoDisplay, bool allowSeparators, bool sortByGenericName) { + return SuSEentries(group, sort, excludeNoDisplay, allowSeparators, sortByGenericName); +} + +KServiceGroup::List +KServiceGroupPrivate::SuSEentries(KServiceGroup *group, bool sort, bool excludeNoDisplay, bool allowSeparators, bool sortByGenericName, bool excludeSuSEunimportant) +{ KServiceGroup::Ptr grp; // If the entries haven't been loaded yet, we have to reload ourselves @@ -395,11 +445,20 @@ KServiceGroupPrivate::entries(KServiceGr KSortableList<KServiceGroup::SPtr,QByteArray> glist; Q_FOREACH (KSycocaEntry::Ptr p, group->d_func()->m_serviceList) { + if ( !p->isType(KST_KServiceGroup) && !p->isType(KST_KService)) + continue; + bool noDisplay = p->isType(KST_KServiceGroup) ? static_cast<KServiceGroup *>(p.data())->noDisplay() : static_cast<KService *>(p.data())->noDisplay(); if (excludeNoDisplay && noDisplay) continue; + + bool SuSEunimportant = p->isType(KST_KService) && + static_cast<KService *>(p.data())->SuSEunimportant(); + if (excludeSuSEunimportant && SuSEunimportant) + continue; + // Choose the right list KSortableList<KServiceGroup::SPtr,QByteArray> & list = p->isType(KST_KServiceGroup) ? glist : slist; QString name; @@ -435,6 +494,12 @@ KServiceGroupPrivate::entries(KServiceGr } list.insert(key,KServiceGroup::SPtr(p)); } + return SuSEsortEntries( group, slist, glist, excludeNoDisplay, allowSeparators ); +} + +KServiceGroup::List +KServiceGroupPrivate::SuSEsortEntries( KServiceGroup *group, KSortableList<KServiceGroup::SPtr,QByteArray> slist, KSortableList<KServiceGroup::SPtr,QByteArray> glist, bool excludeNoDisplay, bool allowSeparators ) +{ // Now sort slist.sort(); glist.sort(); @@ -475,6 +540,8 @@ KServiceGroupPrivate::entries(KServiceGr // TODO: This prevents duplicates for(KSortableList<KServiceGroup::SPtr,QByteArray>::Iterator it2 = slist.begin(); it2 != slist.end(); ++it2) { + if (!(*it2).value()->isType(KST_KService)) + continue; const KService::Ptr service = KService::Ptr::staticCast( (*it2).value() ); if (service->menuId() == item) { Index: kdecore/services/kservicegroup.h =================================================================== --- kdecore/services/kservicegroup.h.orig +++ kdecore/services/kservicegroup.h @@ -22,6 +22,7 @@ #include <kdecore_export.h> #include <ksycocaentry.h> #include <kservice.h> +#include <ksortablelist.h> class KBuildServiceGroupFactory; @@ -174,6 +175,12 @@ public: void setLayoutInfo(const QStringList &layout); /** + * SuSE special, not part of KDE API + */ + bool SuSEshortMenu() const; + bool SuSEgeneralDescription() const; + + /** * @internal * Returns information related to the layout of services in this group. */ @@ -200,6 +207,13 @@ public: List entries(bool sorted = false); /** + * UNOFFICIAL SuSE special + */ + void addSortOrderEntry( const char *entry ); + KServiceGroup::List SuSEsortEntries( KSortableList<KServiceGroup::SPtr,QByteArray> slist, KSortableList<KServiceGroup::SPtr,QByteArray> glist, bool excludeNoDisplay, bool allowSeparators ); + + + /** * options for groupEntries and serviceEntries */ enum EntriesOption Index: kdecore/services/kservicegroup_p.h =================================================================== --- kdecore/services/kservicegroup_p.h.orig +++ kdecore/services/kservicegroup_p.h @@ -31,7 +31,8 @@ public: KServiceGroupPrivate(const QString &path) : KSycocaEntryPrivate(path), - m_bNoDisplay(false), m_bShowEmptyMenu(false), m_bShowInlineHeader(false), m_bInlineAlias(false), + m_bNoDisplay(false), m_bShortMenu(false), m_bGeneralDescription(false), + m_bShowEmptyMenu(false), m_bShowInlineHeader(false), m_bInlineAlias(false), m_bAllowInline(false), m_inlineValue(4), m_bDeep(false), m_childCount(-1) { } @@ -58,6 +59,13 @@ public: KServiceGroup::List entries(KServiceGroup *group, bool sort, bool excludeNoDisplay, bool allowSeparators, bool sortByGenericName); + + /** + * UNOFFICIAL SuSE special + */ + KServiceGroup::List SuSEentries(KServiceGroup *group, bool sort, bool excludeNoDisplay, bool allowSeparators, bool sortByGenericName, bool excludeSuSEunimportant = true); + KServiceGroup::List SuSEsortEntries( KServiceGroup *group, KSortableList<KServiceGroup::SPtr,QByteArray> slist, KSortableList<KServiceGroup::SPtr,QByteArray> glist, bool excludeNoDisplay, bool allowSeparators ); + /** * This function parse attributes into menu */ @@ -65,6 +73,8 @@ public: bool m_bNoDisplay : 1; + bool m_bShortMenu : 1; + bool m_bGeneralDescription : 1; bool m_bShowEmptyMenu : 1; bool m_bShowInlineHeader : 1; bool m_bInlineAlias : 1; Index: kdecore/services/kservice.h =================================================================== --- kdecore/services/kservice.h.orig +++ kdecore/services/kservice.h @@ -350,6 +350,12 @@ public: bool noDisplay() const; /** + * check if the application entry is important + * SuSE special, not part of KDE API + */ + bool SuSEunimportant() const; + + /** * Whether the service should be shown in KDE at all * (including in context menus). * @return true if the service should be shown. ++++++ default-useragent.diff ++++++ --- kio/kio/kprotocolmanager.cpp +++ kio/kio/kprotocolmanager.cpp @@ -645,6 +645,7 @@ d->useragent += QString::number(KDE::versionMajor()); d->useragent += QL1C('.'); d->useragent += QString::number(KDE::versionMinor()); + d->useragent += QL1S(" SUSE"); } else { ++++++ desktop-translations.diff ++++++ Subject: Read .desktop file translations from .mo files if not present From: Lubos Lunak Fate: #300461 Patch-upstream: no Relates: kdelibs3/desktop-translations.diff Index: kdecore/services/kservicegroup.cpp =================================================================== --- kdecore/services/kservicegroup.cpp.orig +++ kdecore/services/kservicegroup.cpp @@ -56,9 +56,9 @@ void KServiceGroupPrivate::load(const QS const KConfigGroup config = desktopFile.desktopGroup(); - m_strCaption = config.readEntry( "Name" ); - m_strIcon = config.readEntry( "Icon" ); - m_strComment = config.readEntry( "Comment" ); + m_strCaption = desktopFile.readName(); + m_strIcon = desktopFile.readIcon(); + m_strComment = desktopFile.readComment(); deleted = config.readEntry("Hidden", false ); m_bNoDisplay = desktopFile.noDisplay(); if (directoryEntryPath.startsWith(QDir::homePath())) Index: kdecore/config/kconfigdata.h =================================================================== --- kdecore/config/kconfigdata.h.orig +++ kdecore/config/kconfigdata.h @@ -175,6 +175,19 @@ class KEntryMap : public QMap<KEntryKey, return find(theKey); } + ConstIterator findExactEntry(const QByteArray& group, const QByteArray& key = QByteArray(), + SearchFlags flags = SearchFlags()) const + { + KEntryKey theKey(group, key, false, bool(flags&SearchDefaults)); + + // try the localized key first + if (flags&SearchLocalized) { + theKey.bLocal = true; + return find(theKey); + } + return find(theKey); + } + Iterator findEntry(const QByteArray& group, const QByteArray& key = QByteArray(), SearchFlags flags = SearchFlags()) { Index: kdecore/config/kdesktopfile.cpp =================================================================== --- kdecore/config/kdesktopfile.cpp.orig +++ kdecore/config/kdesktopfile.cpp @@ -35,6 +35,8 @@ #include "kstandarddirs.h" #include "kconfigini_p.h" #include "kde_file.h" +#include "kcatalog_p.h" +#include "klocale.h" class KDesktopFilePrivate : public KConfigPrivate { @@ -174,6 +176,29 @@ bool KDesktopFile::isAuthorizedDesktopFi return false; } +QString KDesktopFile::translatedEntry(const char* key) const +{ + Q_D(const KDesktopFile); + if (d->desktopGroup.hasTranslatedKey(key)) + return d->desktopGroup.readEntry(key); + + if (d->desktopGroup.hasKey(key)) { + QString value = d->desktopGroup.readEntryUntranslated(key); + QString fName = fileName(); + fName = fName.mid(fName.lastIndexOf(QLatin1Char('/'))+1); + QString po_lookup_key = QString::fromLatin1(key) + QString::fromLatin1("(") + fName + QString::fromLatin1("): ") + value; + QString po_value; + KGlobal::locale()->translateRaw(po_lookup_key.toUtf8().data(), NULL, &po_value); + + if (po_value == po_lookup_key) + return value; + + return po_value; + } + + return QString::null; +} + QString KDesktopFile::readType() const { Q_D(const KDesktopFile); @@ -188,20 +213,17 @@ QString KDesktopFile::readIcon() const QString KDesktopFile::readName() const { - Q_D(const KDesktopFile); - return d->desktopGroup.readEntry("Name", QString()); + return translatedEntry("Name"); } QString KDesktopFile::readComment() const { - Q_D(const KDesktopFile); - return d->desktopGroup.readEntry("Comment", QString()); + return translatedEntry("Comment"); } QString KDesktopFile::readGenericName() const { - Q_D(const KDesktopFile); - return d->desktopGroup.readEntry("GenericName", QString()); + return translatedEntry("GenericName"); } QString KDesktopFile::readPath() const Index: kdecore/config/kdesktopfile.h =================================================================== --- kdecore/config/kdesktopfile.h.orig +++ kdecore/config/kdesktopfile.h @@ -250,6 +250,8 @@ protected: // virtual void virtual_hook( int id, void* data ); private: + QString translatedEntry(const char*) const; + Q_DISABLE_COPY(KDesktopFile) Q_DECLARE_PRIVATE(KDesktopFile) Index: kdecore/config/kconfiggroup.h =================================================================== --- kdecore/config/kconfiggroup.h.orig +++ kdecore/config/kconfiggroup.h @@ -621,6 +621,11 @@ public: */ QMap<QString, QString> entryMap() const; + /** + * @internal + */ + bool hasTranslatedKey( const char *pKey ) const; + protected: bool hasGroupImpl(const QByteArray &group) const; KConfigGroup groupImpl(const QByteArray &b); Index: kdecore/config/kconfig.cpp =================================================================== --- kdecore/config/kconfig.cpp.orig +++ kdecore/config/kconfig.cpp @@ -881,6 +881,17 @@ QString KConfigPrivate::lookupData(const return entryMap.getEntry(group, key, QString(), flags, expand); } +QByteArray KConfigPrivate::lookupExactData(const QByteArray& group, const char* key, + KEntryMap::SearchFlags flags) const +{ + if (bReadDefaults) + flags |= KEntryMap::SearchDefaults; + const KEntryMapConstIterator it = entryMap.findExactEntry(group, key, flags); + if (it == entryMap.constEnd()) + return QByteArray(); + return it->mValue; +} + void KConfig::virtual_hook(int /*id*/, void* /*data*/) { /* nothing */ Index: kdecore/config/kconfig_p.h =================================================================== --- kdecore/config/kconfig_p.h.orig +++ kdecore/config/kconfig_p.h @@ -53,6 +53,7 @@ public: QString lookupData(const QByteArray& group, const char* key, KEntryMap::SearchFlags flags, bool* expand) const; QByteArray lookupData(const QByteArray& group, const char* key, KEntryMap::SearchFlags flags) const; + QByteArray lookupExactData(const QByteArray& group, const char* key, KEntryMap::SearchFlags flags) const; void putData(const QByteArray& group, const char* key, const QByteArray& value, KConfigBase::WriteConfigFlags flags, bool expand=false); Index: kdecore/config/kconfiggroup.cpp =================================================================== --- kdecore/config/kconfiggroup.cpp.orig +++ kdecore/config/kconfiggroup.cpp @@ -1159,6 +1159,16 @@ bool KConfigGroup::hasKey(const char *ke return !config()->d_func()->lookupData(d->fullName(), key, flags).isNull(); } +bool KConfigGroup::hasTranslatedKey(const char* key) const +{ + Q_ASSERT_X(isValid(), "KConfigGroup::hasTranslatedKey", "accessing an invalid group"); + + KEntryMap::SearchFlags flags = KEntryMap::SearchLocalized; + if ( config()->readDefaults() ) + flags |= KEntryMap::SearchDefaults; + return !config()->d_func()->lookupExactData(d->fullName(), key, flags).isNull(); +} + bool KConfigGroup::hasKey(const QString &key) const { return hasKey(key.toUtf8().constData()); ++++++ dont-show-passwords-contained-in-HTTP-URLs-in-error-messages.patch ++++++ commit 65d736dab592bced4410ccfa4699de89f78c96ca Author: Grégory Oestreicher <[email protected]> Date: Wed May 8 23:16:00 2013 +0200 Don't show passwords contained in HTTP URLs in error messages BUG: 319428 diff --git a/kioslave/http/http.cpp b/kioslave/http/http.cpp index 2d139a9..129fc7b 100644 --- a/kioslave/http/http.cpp +++ b/kioslave/http/http.cpp @@ -3056,7 +3056,7 @@ try_again: ; // Ignore error } else { if (!sendErrorPageNotification()) { - error(ERR_INTERNAL_SERVER, m_request.url.url()); + error(ERR_INTERNAL_SERVER, m_request.url.prettyUrl()); return false; } } @@ -3072,9 +3072,9 @@ try_again: // Tell that we will only get an error page here. if (!sendErrorPageNotification()) { if (m_request.responseCode == 403) - error(ERR_ACCESS_DENIED, m_request.url.url()); + error(ERR_ACCESS_DENIED, m_request.url.prettyUrl()); else - error(ERR_DOES_NOT_EXIST, m_request.url.url()); + error(ERR_DOES_NOT_EXIST, m_request.url.prettyUrl()); return false; } } else if (m_request.responseCode >= 301 && m_request.responseCode<= 303) { ++++++ exclude-qtuitools-symbols-from-public-libraries.patch ++++++ >From 87dd1e894da87b871eb86329c35a15e7d235c9a7 Mon Sep 17 00:00:00 2001 From: Hrvoje Senjan <[email protected]> Date: Sun, 12 May 2013 16:14:20 +0200 Subject: [PATCH 1/1] Exclude QtUiTools symbols from public libraries Otherwise it makes users of those libs crash when linked with -Bsymbolic-functions --- kjsembed/kjsembed/CMakeLists.txt | 3 ++- kross/modules/CMakeLists.txt | 3 +++ kross/qts/CMakeLists.txt | 3 +++ plasma/CMakeLists.txt | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/kjsembed/kjsembed/CMakeLists.txt b/kjsembed/kjsembed/CMakeLists.txt index d70f260..5760313 100644 --- a/kjsembed/kjsembed/CMakeLists.txt +++ b/kjsembed/kjsembed/CMakeLists.txt @@ -71,7 +71,8 @@ target_link_libraries(${KJSEMBEDLIBNAME} ${KDE4_KDECORE_LIBS} ${QT_QTUITOOLS_LIB set_target_properties(${KJSEMBEDLIBNAME} PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) install(TARGETS ${KJSEMBEDLIBNAME} EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}) - +# Do not export QtUiTools internal symbols +set_target_properties(${KJSEMBEDLIBNAME} PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a") diff --git a/kross/modules/CMakeLists.txt b/kross/modules/CMakeLists.txt index d245fd8..e21fb4c 100644 --- a/kross/modules/CMakeLists.txt +++ b/kross/modules/CMakeLists.txt @@ -15,6 +15,9 @@ if( QT_QTDESIGNER_FOUND ) target_link_libraries(krossmoduleforms ${QT_QTUITOOLS_LIBRARY} ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS} krosscore krossui) install(TARGETS krossmoduleforms DESTINATION ${PLUGIN_INSTALL_DIR}) + + # Do not export QtUiTools internal symbols + set_target_properties(krossmoduleforms PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a") endif( QT_QTDESIGNER_FOUND ) ############################################ diff --git a/plasma/CMakeLists.txt b/plasma/CMakeLists.txt index 674550d..03c983d 100644 --- a/plasma/CMakeLists.txt +++ b/plasma/CMakeLists.txt @@ -282,6 +282,9 @@ target_link_libraries(plasma ${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY} ${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSQL_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY} ${KDE4_KDEUI_LIBS} ${KDE4_KDNSSD_LIBS} ${KDE4_THREADWEAVER_LIBS} ${PLASMA_EXTRA_LIBS}) +# Do not export QtUiTools internal symbols +set_target_properties(plasma PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a") + if(QCA2_FOUND) target_link_libraries(plasma ${QCA2_LIBRARIES}) endif(QCA2_FOUND) diff --git a/kross/qts/CMakeLists.txt b/kross/qts/CMakeLists.txt index d8cb4a5..a4aff36 100644 --- a/kross/qts/CMakeLists.txt +++ b/kross/qts/CMakeLists.txt @@ -30,3 +30,6 @@ kde4_add_plugin(krossqts ${krossqts_PART_SRCS}) target_link_libraries(krossqts ${KDE4_KDEUI_LIBS} ${KDE4_KDECORE_LIBS} krosscore ${QT_QTSCRIPT_LIBRARY}) install(TARGETS krossqts DESTINATION ${PLUGIN_INSTALL_DIR}) + +# Do not export QtUiTools internal symbols +set_target_properties(krossqts PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a") \ No newline at end of file -- 1.8.2.2 ++++++ fix-freeX11Pixmaps.patch ++++++ >From a9bd6d530344082630c1cd9383b59ce35b08f7c1 Mon Sep 17 00:00:00 2001 From: Anne-Marie Mahfouf <[email protected]> Date: Fri, 10 May 2013 14:17:20 +0200 Subject: [PATCH] Fixes crash as reported in bug 319137 --- plasma/private/dialogshadows.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plasma/private/dialogshadows.cpp b/plasma/private/dialogshadows.cpp index b54fb1a..dceee9c 100644 --- a/plasma/private/dialogshadows.cpp +++ b/plasma/private/dialogshadows.cpp @@ -336,6 +336,9 @@ void DialogShadows::Private::freeX11Pixmaps() { #ifdef Q_WS_X11 foreach (const QPixmap &pixmap, m_shadowPixmaps) { + if (!QX11Info::display()) + return; + if (!pixmap.isNull()) { XFreePixmap(QX11Info::display(), pixmap.handle()); } -- 1.8.1.4 ++++++ fix_kdeclarative_install_location.diff ++++++ Index: kdelibs-4.8.3/experimental/libkdeclarative/CMakeLists.txt =================================================================== --- kdelibs-4.8.3.orig/experimental/libkdeclarative/CMakeLists.txt +++ kdelibs-4.8.3/experimental/libkdeclarative/CMakeLists.txt @@ -6,6 +6,9 @@ endif(KDE_PLATFORM_FEATURE_BINARY_COMPAT configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-kdeclarative.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kdeclarative.h) +set (LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (eg. '64')") +set( LIB_INSTALL_DIR lib${LIB_SUFFIX} ) + include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ++++++ flash-player-non-oss.diff ++++++ Index: khtml/html/html_objectimpl.cpp =================================================================== --- khtml/html/html_objectimpl.cpp.orig +++ khtml/html/html_objectimpl.cpp @@ -606,14 +606,32 @@ void HTMLObjectBaseElementImpl::slotPart // Prepare the URL to show in the question (host only if http, to make it short) KUrl pluginPageURL(embed->pluginPage); QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyUrl(); - int res = KMessageBox::questionYesNo( part->view(), - i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, shortURL), + + int res; + if (mimeName.startsWith("Shockwave Flash", Qt::CaseInsensitive)) + { + res = KMessageBox::questionYesNo( part->view(), + i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, "openSUSE"), i18n("Missing Plugin"), KGuiItem(i18n("Download")), KGuiItem(i18n("Do Not Download")), QString("plugin-")+serviceType); - if (res == KMessageBox::Yes) + if (res == KMessageBox::Yes) + { + // Open YMP file + KUrl ymp_flash("http://download.opensuse.org/YaST/flash-player.ymp"); + ext->openUrlRequest(ymp_flash); + return; + } + } + else { - // Display vendor download page - ext->createNewWindow(pluginPageURL); - return; + res = KMessageBox::questionYesNo( part->view(), + i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, "openSUSE"), + i18n("Missing Plugin"), KGuiItem(i18n("Download")), KGuiItem(i18n("Do Not Download")), QString("plugin-")+serviceType); + if (res == KMessageBox::Yes) + { + // Display vendor download page + ext->createNewWindow(pluginPageURL); + return; + } } } } ++++++ hidden.desktop ++++++ [Desktop Entry] Hidden=true ++++++ hotplug-kde3.diff ++++++ Index: kdecore/services/kservice.cpp =================================================================== --- kdecore/services/kservice.cpp.orig +++ kdecore/services/kservice.cpp @@ -106,6 +106,8 @@ void KServicePrivate::init( const KDeskt m_bValid = false; return;*/ m_strType = QString::fromLatin1("Application"); + if( entryPath.contains( QLatin1String("/konqueror/servicemenus") )) + m_strType = QLatin1String("Service"); // workaround for bnc#378338, KDE3 entries there miss Type= } else if (m_strType != QLatin1String("Application") && m_strType != QLatin1String("Service")) { kWarning(servicesDebugArea()) << "The desktop entry file " << entryPath << " has Type=" << m_strType ++++++ ignore-inline-menu.diff ++++++ Index: kded/vfolder_menu.cpp =================================================================== --- kded/vfolder_menu.cpp.orig +++ kded/vfolder_menu.cpp @@ -1448,6 +1448,7 @@ static QString parseAttribute( const QDo else kDebug()<<" Error in parsing show_empty attribute :"<<str; } +#if 0 if ( e.hasAttribute( "inline" ) ) { QString str = e.attribute( "inline" ); @@ -1486,6 +1487,7 @@ static QString parseAttribute( const QDo else kDebug()<<" Error in parsing inline_alias attribute :"<<str; } +#endif if( !option.isEmpty()) { option = option.prepend(":O"); ++++++ kde3-applications.diff ++++++ Index: kdecore/services/kservice.cpp =================================================================== --- kdecore/services/kservice.cpp.orig +++ kdecore/services/kservice.cpp @@ -64,6 +64,8 @@ void KServicePrivate::init( const KDeskt { const QString entryPath = q->entryPath(); bool absPath = !QDir::isRelativePath(entryPath); + bool kde3application = config->fileName().startsWith(QLatin1String("/opt/kde3/share/applications/kde/")) + || config->fileName().startsWith(QLatin1String("/opt/kde3/share/autostart/")); // TODO: it makes sense to have a KConstConfigGroup I guess const KConfigGroup desktopGroup = const_cast<KDesktopFile*>(config)->desktopGroup(); @@ -91,6 +93,8 @@ void KServicePrivate::init( const KDeskt if (i != -1) m_strName = m_strName.left(i); } + if (kde3application) + m_strName += QLatin1String("/KDE3"); m_strType = config->readType(); entryMap.remove(QLatin1String("Type")); @@ -113,6 +117,18 @@ void KServicePrivate::init( const KDeskt // NOT readPathEntry, it is not XDG-compliant. Path entries written by // KDE4 will be still treated as such, though. m_strExec = desktopGroup.readEntry( "Exec", QString() ); + if (kde3application && !m_strExec.startsWith(QLatin1String("/"))) + m_strExec = QLatin1String("/opt/kde3/bin/")+m_strExec; + else if (desktopGroup.readEntry(QLatin1String("X-KDE-SubstituteUID")), false) { + int space = m_strExec.indexOf(QLatin1String(" ")); + if (space==-1) + m_strExec = KStandardDirs::findExe(m_strExec); + else { + const QString command = m_strExec.left(space); + m_strExec.replace(command,KStandardDirs::findExe(command)); + } + } + entryMap.remove(QLatin1String("Exec")); if (m_strType == QLatin1String("Application")) { @@ -215,6 +231,8 @@ void KServicePrivate::init( const KDeskt m_initialPreference = desktopGroup.readEntry( "InitialPreference", 1 ); entryMap.remove(QLatin1String("InitialPreference")); + if (kde3application) + m_initialPreference = 1; // Assign the "initial preference" to each mimetype/servicetype // (and to set such preferences in memory from kbuildsycoca) @@ -256,6 +274,8 @@ void KServicePrivate::init( const KDeskt m_DBUSStartusType = KService::DBusNone; m_strDesktopEntryName = _name.toLower(); + if (kde3application) + m_strDesktopEntryName = QLatin1String("kde-") + m_strDesktopEntryName; m_bAllowAsDefault = desktopGroup.readEntry("AllowDefault", true); entryMap.remove(QLatin1String("AllowDefault")); @@ -275,7 +295,9 @@ void KServicePrivate::init( const KDeskt // qDebug("Path = %s", entryPath.toLatin1().constData()); QMap<QString,QString>::ConstIterator it = entryMap.constBegin(); for( ; it != entryMap.constEnd();++it) { - const QString key = it.key(); + QString key = it.key(); + if (kde3application && key==QLatin1String("OnlyShowIn") && QVariant(*it)==QLatin1String("KDE;")) + key = QLatin1String("NotShowIn"); // do not store other translations like Name[fr]; kbuildsycoca will rerun if we change languages anyway if (!key.contains(QLatin1Char('['))) { //kDebug(servicesDebugArea()) << " Key =" << key << " Data =" << *it; ++++++ kde4rc ++++++ [Directories] prefixes=/etc/kde4/ dir_locale=/usr/share/locale-bundle dir_html=/usr/share/doc-bundle/kde/HTML ++++++ kdebug-areas-update.diff ++++++ Index: kdecore/kdebug.areas =================================================================== --- kdecore/kdebug.areas.orig +++ kdecore/kdebug.areas @@ -729,6 +729,8 @@ 100200 kfs +100300 kupdateapplet + # rosegarden 200000 rosegarden ++++++ kdelibs4-rpmlintrc ++++++ addFilter("percent-in-dependency" ) addFilter("percent-in-provides" ) ++++++ kdesu-settings.diff ++++++ Subject: Change kdesu settings From: Lubos Lunak Bug: 216796, 404521 Relates: kdelibs3/kdesu-settings.diff , kdebase4-runtime/kdesu-remember-keep-password.diff Patch-upstream: never Change kdesu(d) password keeping timeout only to 5 minutes and enable it by default (to match kdesu using sudo in 10.3 behaviour). Update: Change the timeout back to 2 hours (bnc#404521). Index: kdesu/defaults.h =================================================================== --- kdesu/defaults.h.orig +++ kdesu/defaults.h @@ -15,7 +15,7 @@ namespace KDESu { const int defTimeout = 120*60; const int defEchoMode = 0; -const bool defKeep = false; +const bool defKeep = true; } ++++++ kjs-mark-register-stack.diff ++++++ Index: kjs/collector.cpp =================================================================== --- kjs/collector.cpp.orig +++ kjs/collector.cpp @@ -524,6 +524,9 @@ static inline void* currentThreadStackBa return stackBase; } +#ifdef __ia64__ +extern "C" void *__libc_ia64_register_backing_store_base __attribute__((weak)); +#endif void Collector::markCurrentThreadConservatively() { @@ -543,6 +546,11 @@ void Collector::markCurrentThreadConserv void* stackBase = currentThreadStackBase(); markStackObjectsConservatively(stackPointer, stackBase); +#ifdef __ia64__ + __builtin_ia64_flushrs(); + void *bsp = __builtin_ia64_bsp(); + markStackObjectsConservatively(__libc_ia64_register_backing_store_base, bsp); +#endif } #if USE(MULTIPLE_THREADS) ++++++ kjs-stacklimit.diff ++++++ commit ffc8a6a316cacc8df6a91584653fe2c867a5d489 Author: Bernd Buschinski <[email protected]> Date: Fri Mar 29 21:26:40 2013 +0100 kjs: Avoid overflow computing availableStackSize in KJS::RegExp::match REVIEW:109555 BUG:316923 diff --git a/kjs/regexp.cpp b/kjs/regexp.cpp index 5294d62..3622194 100644 --- a/kjs/regexp.cpp +++ b/kjs/regexp.cpp @@ -258,7 +258,12 @@ static bool sanitizePatternExtensions(UString &p, WTF::Vector<int>* parenIdx) bool RegExp::tryGrowingMaxStackSize = true; bool RegExp::didIncreaseMaxStackSize = false; + +#if HAVE(SYS_TIME_H) +rlim_t RegExp::availableStackSize = 8*1024*1024; +#else int RegExp::availableStackSize = 8*1024*1024; +#endif RegExp::RegExp(const UString &p, char flags) : _pat(p), _flags(flags), _valid(true), _numSubPatterns(0) diff --git a/kjs/regexp.h b/kjs/regexp.h index f6132e6..67446fc 100644 --- a/kjs/regexp.h +++ b/kjs/regexp.h @@ -36,6 +36,13 @@ extern "C" { // bug with some libc5 distributions } #endif //HAVE_PCREPOSIX +#if defined _WIN32 || defined _WIN64 +#undef HAVE_SYS_TIME_H +#endif +#if HAVE(SYS_TIME_H) +#include <sys/resource.h> +#endif + #include "ustring.h" namespace KJS { @@ -81,7 +88,11 @@ namespace KJS { static bool tryGrowingMaxStackSize; static bool didIncreaseMaxStackSize; +#if HAVE(SYS_TIME_H) + static rlim_t availableStackSize; +#else static int availableStackSize; +#endif private: #ifdef HAVE_PCREPOSIX pcre *_regex; ++++++ ksuseinstall.diff ++++++ ++++ 992 lines (skipped) ++++++ plasma-libs.diff ++++++ --- plasma/containment.cpp 2012-10-12 14:26:42.586367366 +0200 +++ plasma/containment.cpp 2012-10-12 20:54:32.890230374 +0200 @@ -140,6 +140,18 @@ setBackgroundHints(NoBackground); } +Containment::Containment(QObject *parent, const QVariantList &args, bool showToolBox) + : Applet(parent, args), + d(new ContainmentPrivate(this)) +{ + // WARNING: do not access config() OR globalConfig() in this method! + // that requires a scene, which is not available at this point + setPos(0, 0); + setBackgroundHints(NoBackground); + setHasConfigurationInterface(false); + d->showToolBox=showToolBox; +} + Containment::~Containment() { // Applet touches our dptr if we are a containment and is the superclass (think of dtors) --- plasma/containment.h 2012-10-12 14:26:42.587367367 +0200 +++ plasma/containment.h 2012-10-12 20:54:32.890230374 +0200 @@ -128,6 +128,8 @@ */ Containment(QObject *parent, const QVariantList &args); + Containment(QObject *parent, const QVariantList &args, bool showToolBox); + ~Containment(); /** --- plasma/private/containment_p.h 2012-10-12 14:26:42.704367433 +0200 +++ plasma/private/containment_p.h 2012-10-12 20:54:32.891230388 +0200 @@ -60,6 +60,7 @@ type(Containment::NoContainmentType), showDropZoneDelayTimer(0), drawWallpaper(true), + showToolBox(true), dropZoneStarted(false), containmentActionsSource(Global) { @@ -187,6 +188,7 @@ QHash<KJob*, KMenu*> dropMenus; QTimer *showDropZoneDelayTimer; bool drawWallpaper : 1; + bool showToolBox : 1; bool dropZoneStarted : 1; enum ContainmentActionsSource { --- plasma/theme.cpp 2012-10-12 14:26:42.887367524 +0200 +++ plasma/theme.cpp 2012-10-12 20:54:32.892230398 +0200 @@ -80,7 +80,6 @@ colorScheme(QPalette::Active, KColorScheme::Window, KSharedConfigPtr(0)), buttonColorScheme(QPalette::Active, KColorScheme::Button, KSharedConfigPtr(0)), viewColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(0)), - defaultWallpaperTheme(DEFAULT_WALLPAPER_THEME), defaultWallpaperSuffix(DEFAULT_WALLPAPER_SUFFIX), defaultWallpaperWidth(DEFAULT_WALLPAPER_WIDTH), defaultWallpaperHeight(DEFAULT_WALLPAPER_HEIGHT), @@ -108,6 +107,10 @@ updateNotificationTimer->setInterval(500); QObject::connect(updateNotificationTimer, SIGNAL(timeout()), q, SLOT(notifyOfChanged())); + KSharedConfigPtr defaultconfig = KSharedConfig::openConfig("plasma-desktoprc"); + KConfigGroup group = KConfigGroup(defaultconfig, "Defaults"); + defaultWallpaperTheme = group.readEntry("wallpaper", DEFAULT_WALLPAPER_THEME); + if (QPixmap::defaultDepth() > 8) { QObject::connect(KWindowSystem::self(), SIGNAL(compositingChanged(bool)), q, SLOT(compositingChanged(bool))); #ifdef Q_WS_X11 @@ -564,7 +567,10 @@ cg = config(); } - defaultWallpaperTheme = cg.readEntry("defaultWallpaperTheme", DEFAULT_WALLPAPER_THEME); + KSharedConfigPtr defaultconfig = KSharedConfig::openConfig("plasma-desktoprc"); + KConfigGroup group = KConfigGroup(defaultconfig, "Defaults"); + defaultWallpaperTheme = cg.readEntry("defaultWallpaperTheme", group.readEntry("wallpaper", DEFAULT_WALLPAPER_THEME)); + defaultWallpaperSuffix = cg.readEntry("defaultFileSuffix", DEFAULT_WALLPAPER_SUFFIX); defaultWallpaperWidth = cg.readEntry("defaultWidth", DEFAULT_WALLPAPER_WIDTH); defaultWallpaperHeight = cg.readEntry("defaultHeight", DEFAULT_WALLPAPER_HEIGHT); @@ -814,6 +820,10 @@ } } + if (!QFile::exists(fullPath)) { + fullPath = KStandardDirs::locate("wallpaper", d->defaultWallpaperTheme); + } + return fullPath; } ++++++ pre_checkin.sh ++++++ #!/bin/bash # This script is called automatically during autobuild checkin. version=$(grep '^Version:.*' kdelibs4.spec) for change in kdelibs4-apidocs; do cp -f kdelibs4.changes $change.changes sed -i -e "s,Version:.*,$version," ${change}.spec done ++++++ windeco-color.diff ++++++ Index: kdeui/kernel/kglobalsettings.cpp =================================================================== --- kdeui/kernel/kglobalsettings.cpp.orig +++ kdeui/kernel/kglobalsettings.cpp @@ -344,7 +344,7 @@ QColor KGlobalSettings::activeTitleColor return qt_colorref2qrgb(GetSysColor(COLOR_ACTIVECAPTION)); #else KConfigGroup g( KGlobal::config(), "WM" ); - return g.readEntry( "activeBackground", QColor(48,174,232)); + return g.readEntry( "activeBackground", QColor(106, 153, 213)); #endif } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
