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]

Reply via email to