Hello community,

here is the log from the commit of package kdelibs4.1135 for 
openSUSE:12.2:Update checked in at 2012-12-06 16:16:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/kdelibs4.1135 (Old)
 and      /work/SRC/openSUSE:12.2:Update/.kdelibs4.1135.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdelibs4.1135", Maintainer is ""

Changes:
--------
New Changes file:

--- /dev/null   2012-11-30 12:21:47.308011256 +0100
+++ /work/SRC/openSUSE:12.2:Update/.kdelibs4.1135.new/kdelibs4-apidocs.changes  
2012-12-06 16:16:57.000000000 +0100
@@ -0,0 +1,1501 @@
+-------------------------------------------------------------------
+Mon Jul 30 18:31:35 UTC 2012 - [email protected]
+
+- Remove herqq support as this causes frequent crashes (bnc#768368)
+
+-------------------------------------------------------------------
+Mon Jul 30 16:51:37 UTC 2012 - [email protected]
+
+- update to 4.8.5
+  * see http://kde.org/announcements/changelogs/changelog4_8_4to4_8_5.php for 
details
+
+-------------------------------------------------------------------
+Mon Jul  2 08:00:13 UTC 2012 - [email protected]
+
+- Apply to a upstream patch to mount vfat filesystem with flush 
+  option. (bnc#746394, kde#273792)
+
+-------------------------------------------------------------------
+Tue Jun 26 09:56:49 UTC 2012 - [email protected]
+
+- Add patches to fix Soprano crashes 
+
+-------------------------------------------------------------------
+Fri Jun  1 13:53:09 UTC 2012 - [email protected]
+
+- update to 4.8.4
+  * see http://kde.org/announcements/changelogs/changelog4_8_3to4_8_4.php for 
details
+
+-------------------------------------------------------------------
+Tue May 29 09:29:30 UTC 2012 - [email protected]
+
+- Re-enable building with herqq/hupnp support.  The licensing issues have all 
been resolved (see bnc#710616)
+  This allows browsing of upnp servers in kio as well as upnp playback in 
amarok.
+
+-------------------------------------------------------------------
+Thu May 24 18:26:54 UTC 2012 - [email protected]
+
+- fix brandingversion
+
+-------------------------------------------------------------------
+Sun Apr 29 20:52:53 UTC 2012 - [email protected]
+
+- update to 4.8.3
+  * see http://kde.org/announcements/changelogs/changelog4_8_2to4_8_3.php for 
details
+
+-------------------------------------------------------------------
+Sun Apr 15 17:07:24 UTC 2012 - [email protected]
+
+- Make XF86Calculator key work (bnc#726550, kde#257900)
+
+-------------------------------------------------------------------
+Sat Apr 14 08:20:02 UTC 2012 - [email protected]
+
+- fix build on older distributions
+
+-------------------------------------------------------------------
+Sun Apr  1 17:40:36 UTC 2012 - [email protected]
+
+- Remove wrongly added %kde_runtime_requires macro
+
+-------------------------------------------------------------------
+Fri Mar 30 01:01:55 CEST 2012 - [email protected]
+
+- update to 4.8.2
+  * see http://kde.org/announcements/changelogs/changelog4_8_1to4_8_2.php for 
details
+
+-------------------------------------------------------------------
+Mon Mar 26 08:21:56 UTC 2012 - [email protected]
+
+- Do not build aspell backend, only enchant. This is less confusing, as there 
is no interface for choosing the backend. Aspell is still supported by the 
enchant backend, but default is hunspell.
+
+-------------------------------------------------------------------
+Wed Mar 14 09:47:52 UTC 2012 - [email protected]
+
+- added fix for KMail2 crashes from
+  https://bugs.kde.org/show_bug.cgi?id=295474#c27
+
+-------------------------------------------------------------------
+Tue Mar  6 01:21:08 UTC 2012 - [email protected]
+
+- fix crash due to race in fstabstorageaccess constructor
+- cache fstabstorageaccess interface instance
+- solid udisks/upower backends:
+  * fix solid call to org.freedesktop.Properties.GetAll
+  * do not call Properties method on Root object
+
+-------------------------------------------------------------------
+Fri Mar  2 23:14:20 CET 2012 - [email protected]
+
+- update to 4.8.1
+  * see http://kde.org/announcements/changelogs/changelog4_8_0to4_8_1.php for 
details
+
+-------------------------------------------------------------------
+Mon Feb 27 11:52:01 UTC 2012 - [email protected]
+
+- Local service run of spec formatter broke it
+
+-------------------------------------------------------------------
+Mon Feb 27 11:04:20 UTC 2012 - [email protected]
+
+- The 'factory-auto' review script doesn't like macros in Name:
+
+-------------------------------------------------------------------
+Mon Jan 30 14:07:45 UTC 2012 - [email protected]
+
+- update documentation (bnc#743337)
+- move meinproc4_simple to doc
+- mark doc as GFDL
+- unmark config in /usr/share (config is in /etc)
+- reinstate checkXML.1 (why was it killed?)
+- remove kde4-doxygen.sh (build time only script)
+
+-------------------------------------------------------------------
+Mon Jan 30 10:31:47 UTC 2012 - [email protected]
+
+- Fixed aspell detection
+
+-------------------------------------------------------------------
+Wed Jan 18 20:57:14 CET 2012 - [email protected]
+
+- update to 4.8.0
+  * first stable release of KDE 4.8 (only critical fixes over 4.7.98)
+  * see http://kde.org/announcements/4.8/ for details
+  
+
+-------------------------------------------------------------------
+Tue Jan 10 16:32:19 CET 2012 - [email protected]
+
+- update to 4.7.98
+  * RC2+ milestone release of KDE 4.8
+  *  see http://kde.org/announcements/4.8/ for details
+  
+
+-------------------------------------------------------------------
+Fri Dec  2 01:58:27 CET 2011 - [email protected]
+
+- update to 4.7.4
+  * see http://kde.org/announcements/changelogs/changelog4_7_3to4_7_4.php for 
details
+
+-------------------------------------------------------------------
+Wed Nov  2 20:21:47 CET 2011 - [email protected]
+
+- update to 4.7.3
+  * see http://kde.org/announcements/changelogs/changelog4_7_2to4_7_3.php for 
details
+
+-------------------------------------------------------------------
+Fri Oct 21 08:44:30 UTC 2011 - [email protected]
+
+- Remove PulseAudio 1.0 patch, superseded by PA 1.1
+
+-------------------------------------------------------------------
+Wed Oct 19 10:48:30 UTC 2011 - [email protected]
+
+- Add 4.7 branch diff
+- Remove first time login fix patch, now upstream
+
+-------------------------------------------------------------------
+Mon Oct 17 11:20:33 UTC 2011 - [email protected]
+
+- make branding requires for old distros backwards - will hopefully
+  fade out as time goes by
+
+-------------------------------------------------------------------
+Sun Oct 16 20:09:02 UTC 2011 - [email protected]
+
+- Patch PulseAudio cmake module with same fix as phonon
+
+-------------------------------------------------------------------
+Thu Oct 13 09:48:29 UTC 2011 - [email protected]
+
+- fix first time login - patch pushed to 4.7 branch too
+
+-------------------------------------------------------------------
+Thu Oct  6 09:49:45 UTC 2011 - [email protected]
+
+- for 12.1 provide all files in branding-upstream, not just the
+  background
+
+-------------------------------------------------------------------
+Sun Oct  2 16:40:22 CEST 2011 - [email protected]
+
+- update to 4.7.2
+  * see http://kde.org/announcements/changelogs/changelog4_7_1to4_7_2.php for 
details
+
+-------------------------------------------------------------------
+Thu Sep  1 23:17:04 CEST 2011 - [email protected]
+
+- update to 4.7.1
+  * Bugfixes over KDE 4.7.0
+  *  see http://kde.org/announcements/changelogs/changelog4_7_0to4_7_1.php for 
details
+
+-------------------------------------------------------------------
+Tue Aug 30 08:37:13 UTC 2011 - [email protected]
+
+- Refresh kdelibs-4.7-branch.patch:
+  * Fix a crash that occurs while rating in KNewStuff
+
++++ 1304 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:12.2:Update/.kdelibs4.1135.new/kdelibs4-apidocs.changes
New Changes file:

--- /dev/null   2012-11-30 12:21:47.308011256 +0100
+++ /work/SRC/openSUSE:12.2:Update/.kdelibs4.1135.new/kdelibs4.changes  
2012-12-06 16:16:57.000000000 +0100
@@ -0,0 +1,1514 @@
+-------------------------------------------------------------------
+Tue Nov 27 09:12:09 UTC 2012 - [email protected]
+
+- Added kio_revert_slow_filesystems.patch to fix bnc#776141.
+
+-------------------------------------------------------------------
+Mon Nov 12 21:24:43 UTC 2012 - [email protected]
+
+- Fix various memory corruption vulnerabilities in konqueror (bnc#787520)
+  Added patches: commit_4f2eb356f1c23444fff2cfe0a7ae10efe303d6d8.diff,
+  commit_65464349951e0df9b5d80c2eb3cc7458d54923ae.diff  
+
+-------------------------------------------------------------------
+Mon Jul 30 18:31:35 UTC 2012 - [email protected]
+
+- Remove herqq support as this causes frequent crashes (bnc#768368)
+
+-------------------------------------------------------------------
+Mon Jul 30 16:51:37 UTC 2012 - [email protected]
+
+- update to 4.8.5
+  * see http://kde.org/announcements/changelogs/changelog4_8_4to4_8_5.php for 
details
+- remove upstreamed patches
+
+-------------------------------------------------------------------
+Mon Jul  2 08:00:13 UTC 2012 - [email protected]
+
+- Apply to a upstream patch to mount vfat filesystem with flush 
+  option. (bnc#746394, kde#273792)
+
+-------------------------------------------------------------------
+Tue Jun 26 09:56:49 UTC 2012 - [email protected]
+
+- Add patches to fix Soprano crashes 
+
+-------------------------------------------------------------------
+Fri Jun  1 13:53:09 UTC 2012 - [email protected]
+
+- update to 4.8.4
+  * see http://kde.org/announcements/changelogs/changelog4_8_3to4_8_4.php for 
details
+
+-------------------------------------------------------------------
+Tue May 29 09:29:30 UTC 2012 - [email protected]
+
+- Re-enable building with herqq/hupnp support.  The licensing issues have all 
been resolved (see bnc#710616)
+  This allows browsing of upnp servers in kio as well as upnp playback in 
amarok.
+
+-------------------------------------------------------------------
+Thu May 24 18:26:54 UTC 2012 - [email protected]
+
+- fix brandingversion
+
+-------------------------------------------------------------------
+Sun Apr 29 20:52:53 UTC 2012 - [email protected]
+
+- update to 4.8.3
+  * see http://kde.org/announcements/changelogs/changelog4_8_2to4_8_3.php for 
details
+
+-------------------------------------------------------------------
+Sun Apr 15 17:07:24 UTC 2012 - [email protected]
+
+- Make XF86Calculator key work (bnc#726550, kde#257900)
+
+-------------------------------------------------------------------
+Sat Apr 14 08:20:02 UTC 2012 - [email protected]
+
+- fix build on older distributions
+
+-------------------------------------------------------------------
+Sun Apr  1 17:40:36 UTC 2012 - [email protected]
+
+- Remove wrongly added %kde_runtime_requires macro
+
+-------------------------------------------------------------------
+Fri Mar 30 01:01:55 CEST 2012 - [email protected]
+
+- update to 4.8.2
+  * see http://kde.org/announcements/changelogs/changelog4_8_1to4_8_2.php for 
details
+
+-------------------------------------------------------------------
+Mon Mar 26 08:21:56 UTC 2012 - [email protected]
+
+- Do not build aspell backend, only enchant. This is less confusing, as there 
is no interface for choosing the backend. Aspell is still supported by the 
enchant backend, but default is hunspell.
+
+-------------------------------------------------------------------
+Wed Mar 14 09:47:52 UTC 2012 - [email protected]
+
+- added fix for KMail2 crashes from
+  https://bugs.kde.org/show_bug.cgi?id=295474#c27
+
+-------------------------------------------------------------------
+Tue Mar  6 01:21:08 UTC 2012 - [email protected]
+
+- fix crash due to race in fstabstorageaccess constructor
+- cache fstabstorageaccess interface instance
+- solid udisks/upower backends:
+  * fix solid call to org.freedesktop.Properties.GetAll
+  * do not call Properties method on Root object
+
+-------------------------------------------------------------------
+Fri Mar  2 23:14:20 CET 2012 - [email protected]
+
+- update to 4.8.1
+  * see http://kde.org/announcements/changelogs/changelog4_8_0to4_8_1.php for 
details
+
+-------------------------------------------------------------------
+Mon Feb 27 11:52:01 UTC 2012 - [email protected]
+
+- Local service run of spec formatter broke it
+
+-------------------------------------------------------------------
+Mon Feb 27 11:04:20 UTC 2012 - [email protected]
+
+- The 'factory-auto' review script doesn't like macros in Name:
+
+-------------------------------------------------------------------
+Mon Jan 30 14:07:45 UTC 2012 - [email protected]
+
+- update documentation (bnc#743337)
+- move meinproc4_simple to doc
+- mark doc as GFDL
+- unmark config in /usr/share (config is in /etc)
+- reinstate checkXML.1 (why was it killed?)
+- remove kde4-doxygen.sh (build time only script)
+
+-------------------------------------------------------------------
+Mon Jan 30 10:31:47 UTC 2012 - [email protected]
+
+- Fixed aspell detection
+
+-------------------------------------------------------------------
+Wed Jan 18 20:57:14 CET 2012 - [email protected]
+
+- update to 4.8.0
+  * first stable release of KDE 4.8 (only critical fixes over 4.7.98)
+  * see http://kde.org/announcements/4.8/ for details
+  
+
+-------------------------------------------------------------------
+Tue Jan 10 16:32:19 CET 2012 - [email protected]
+
+- update to 4.7.98
+  * RC2+ milestone release of KDE 4.8
+  *  see http://kde.org/announcements/4.8/ for details
+  
+
+-------------------------------------------------------------------
+Fri Dec  2 01:58:27 CET 2011 - [email protected]
+
+- update to 4.7.4
+  * see http://kde.org/announcements/changelogs/changelog4_7_3to4_7_4.php for 
details
+
+-------------------------------------------------------------------
+Wed Nov  2 20:21:47 CET 2011 - [email protected]
+
+- update to 4.7.3
+  * see http://kde.org/announcements/changelogs/changelog4_7_2to4_7_3.php for 
details
+
+-------------------------------------------------------------------
+Fri Oct 21 08:44:30 UTC 2011 - [email protected]
+
+- Remove PulseAudio 1.0 patch, superseded by PA 1.1
+
+-------------------------------------------------------------------
+Wed Oct 19 10:48:30 UTC 2011 - [email protected]
+
+- Add 4.7 branch diff
+- Remove first time login fix patch, now upstream
+
+-------------------------------------------------------------------
+Mon Oct 17 11:20:33 UTC 2011 - [email protected]
+
+- make branding requires for old distros backwards - will hopefully
+  fade out as time goes by
+
+-------------------------------------------------------------------
+Sun Oct 16 20:09:02 UTC 2011 - [email protected]
+
+- Patch PulseAudio cmake module with same fix as phonon
+
+-------------------------------------------------------------------
+Thu Oct 13 09:48:29 UTC 2011 - [email protected]
+
+- fix first time login - patch pushed to 4.7 branch too
+
+-------------------------------------------------------------------
+Thu Oct  6 09:49:45 UTC 2011 - [email protected]
+
+- for 12.1 provide all files in branding-upstream, not just the
+  background
+
+-------------------------------------------------------------------
+Sun Oct  2 16:40:22 CEST 2011 - [email protected]
+
+- update to 4.7.2
+  * see http://kde.org/announcements/changelogs/changelog4_7_1to4_7_2.php for 
details
+
++++ 1317 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.2:Update/.kdelibs4.1135.new/kdelibs4.changes

New:
----
  4_7_BRANCH.diff
  add-suse-translations.diff
  baselibs.conf
  clever-menu.diff
  commit_4f2eb356f1c23444fff2cfe0a7ae10efe303d6d8.diff
  commit_65464349951e0df9b5d80c2eb3cc7458d54923ae.diff
  default-useragent.diff
  desktop-translations.diff
  fix_kcalc_shortcut.diff
  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.8.5.tar.xz
  kdelibs4-apidocs.changes
  kdelibs4-apidocs.spec
  kdelibs4.changes
  kdelibs4.spec
  kdesu-settings.diff
  kio_revert_slow_filesystems.patch
  kjs-mark-register-stack.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) 2012 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.8.5
Release:        0
Summary:        KDE 4 API documentation
License:        LGPL-2.1+
Group:          System/GUI/KDE
Url:            http://www.kde.org
Source0:        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 ++++++
++++ 612 lines (skipped)

++++++ 4_7_BRANCH.diff ++++++
--- a/BRANCH_STATUS
+++ b/BRANCH_STATUS
@@ -0,0 +1,2 @@
+current HEAD: 6606337b9bdf98111276d0fd3d803a644462cb28
+git diff v4.7.2..origin/KDE/4.7
diff --git a/includes/CMakeLists.txt b/includes/CMakeLists.txt
index a967a92..1c6907e 100644
++++++ 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,13 @@ KServiceGroup::entries(bool sort, bool e
     return d->entries(this, sort, excludeNoDisplay, allowSeparators, 
sortByGenericName);
 }
 
+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 +406,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 +437,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 +486,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 +532,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,12 @@ public:
   List entries(bool sorted = false);
 
   /**
+   * UNOFFICIAL SuSE special
+   */
+  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.
++++++ commit_4f2eb356f1c23444fff2cfe0a7ae10efe303d6d8.diff ++++++
commit 4f2eb356f1c23444fff2cfe0a7ae10efe303d6d8
Author: David Faure <[email protected]>
Date:   Wed Oct 24 20:04:31 2012 +0200

    Fix crash when a redirect happens in an iframe while the context menu is 
shown

diff --git a/khtml/rendering/render_replaced.cpp 
b/khtml/rendering/render_replaced.cpp
index 195dcba..6bc5caa 100644
--- a/khtml/rendering/render_replaced.cpp
+++ b/khtml/rendering/render_replaced.cpp
@@ -1030,7 +1030,7 @@ bool RenderWidget::handleEvent(const DOM::EventImpl& ev)
             p.setY(qMin(qMax(0,p.y()),m_widget->height()));
         }
 
-        QWidget* target = 0;
+        QPointer<QWidget> target;
         target = m_widget->childAt(p);
 
         if (target) {
@@ -1103,16 +1103,18 @@ bool RenderWidget::handleEvent(const DOM::EventImpl& ev)
             }
         }
 
-        QEvent *e = isMouseWheel ?
+        QScopedPointer<QEvent> e(isMouseWheel ?
                     static_cast<QEvent*>(new QWheelEvent(p, -me.detail()*40, 
buttons, state, orient)) :
-                    static_cast<QEvent*>(new QMouseEvent(type,    p, button, 
buttons, state));
+                    static_cast<QEvent*>(new QMouseEvent(type,    p, button, 
buttons, state)));
 
 
-        ret = bubblingSend(target, e, m_widget);
+        ret = bubblingSend(target, e.data(), m_widget);
 
+        if (!target)
+            break;
         if (needContextMenuEvent) {
             QContextMenuEvent cme(QContextMenuEvent::Mouse, p);
-            static_cast<EventPropagator *>(target)->sendEvent(&cme);
+            static_cast<EventPropagator *>(target.data())->sendEvent(&cme);
         } else if (type == QEvent::MouseMove && 
target->testAttribute(Qt::WA_Hover)) {
             QHoverEvent he( QEvent::HoverMove, p, p );
             QApplication::sendEvent(target, &he);
@@ -1120,7 +1122,6 @@ bool RenderWidget::handleEvent(const DOM::EventImpl& ev)
         if (ev.id() == EventImpl::MOUSEUP_EVENT) {
             view()->setMouseEventsTarget( 0 );
         }
-        delete e;
         break;
     }
     case EventImpl::KEYDOWN_EVENT:
++++++ commit_65464349951e0df9b5d80c2eb3cc7458d54923ae.diff ++++++
commit 65464349951e0df9b5d80c2eb3cc7458d54923ae
Author: David Faure <[email protected]>
Date:   Fri Oct 19 11:33:41 2012 +0200

    Fix crash when trying to reuse a frame with a null part.
    
    BUG: 271528
    FIXED-IN: 4.9.3

diff --git a/khtml/khtml_part.cpp b/khtml/khtml_part.cpp
index ad00ea5..6165710 100644
--- a/khtml/khtml_part.cpp
+++ b/khtml/khtml_part.cpp
@@ -5242,8 +5242,12 @@ KHTMLPart* KHTMLPartPrivate::top()
 
 bool KHTMLPartPrivate::canNavigate(KParts::ReadOnlyPart* bCand)
 {
+    if (!bCand) // No part here (e.g. invalid url), reuse that frame
+        return true;
+
     KHTMLPart* b = qobject_cast<KHTMLPart*>(bCand);
-    assert(b);
+    if (!b) // Another kind of part? Not sure what to do...
+        return false;
 
     // HTML5 gives conditions for this (a) being able to navigate b
     
++++++ 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());
++++++ fix_kcalc_shortcut.diff ++++++
Subject: Make XF86Calculator key work
From: [email protected]
Signed-Off-By: Christian Trippe, [email protected]
Bug: bnc#726550, kde#257900 
Patch-upstream: no

--- kdeui/util/kkeyserver_x11.cpp       2012-02-25 18:53:49.480771132 -0200
+++ kdeui/util/kkeyserver_x11.cpp       2012-02-25 18:20:38.912403430 -0200
@@ -355,7 +355,7 @@
     { Qt::Key_MediaRecord, XF86XK_AudioRecord },
     { Qt::Key_LaunchMail, XF86XK_Mail },
     { Qt::Key_Launch0,    XF86XK_MyComputer },
-    { Qt::Key_Calculator,    XF86XK_Calculator },
+    { Qt::Key_Launch1,    XF86XK_Calculator },
     { Qt::Key_Memo,    XF86XK_Memo },
     { Qt::Key_ToDoList,    XF86XK_ToDoList },
     { Qt::Key_Calendar,    XF86XK_Calendar },
++++++ 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
++++++ 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
++++++ 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;
 
 }
 
++++++ kio_revert_slow_filesystems.patch ++++++
diff -Pdpru a/kio/kio/kfileitem.cpp b/kio/kio/kfileitem.cpp
--- a/kio/kio/kfileitem.cpp     2012-06-06 22:49:52.653043147 +0200
+++ b/kio/kio/kfileitem.cpp     2012-09-07 16:21:14.511736277 +0200
@@ -702,8 +702,7 @@ bool KFileItemPrivate::isSlow() const
     if (m_slow == SlowUnknown) {
         const QString path = localPath();
         if (!path.isEmpty()) {
-            const KFileSystemType::Type fsType = 
KFileSystemType::fileSystemType(path);
-            m_slow = (fsType == KFileSystemType::Nfs || fsType == 
KFileSystemType::Smb) ? Slow : Fast;
+            m_slow = Fast;
         } else {
             m_slow = Slow;
         }
++++++ 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)
++++++ ksuseinstall.diff ++++++
++++ 992 lines (skipped)

++++++ plasma-libs.diff ++++++
Index: plasma/containment.cpp
===================================================================
--- plasma/containment.cpp.orig
+++ plasma/containment.cpp
@@ -143,6 +143,18 @@ Containment::Containment(const QString &
     setHasConfigurationInterface(false);
 }
 
+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()
 {
     delete d;
Index: plasma/containment.h
===================================================================
--- plasma/containment.h.orig
+++ plasma/containment.h
@@ -128,6 +128,8 @@ class PLASMA_EXPORT Containment : public
          */
         Containment(QObject *parent, const QVariantList &args);
 
+        Containment(QObject *parent, const QVariantList &args, bool 
showToolBox);
+
         ~Containment();
 
         /**
Index: plasma/private/containment_p.h
===================================================================
--- plasma/private/containment_p.h.orig
+++ plasma/private/containment_p.h
@@ -60,6 +60,7 @@ public:
           type(Containment::NoContainmentType),
           showDropZoneDelayTimer(0),
           drawWallpaper(true),
+          showToolBox(true),
           dropZoneStarted(false),
           containmentActionsSource(Global)
     {
@@ -187,6 +188,7 @@ public:
     QHash<KJob*, KMenu*> dropMenus;
     QTimer *showDropZoneDelayTimer;
     bool drawWallpaper : 1;
+    bool showToolBox : 1;
     bool dropZoneStarted : 1;
 
     enum ContainmentActionsSource {
Index: plasma/theme.cpp
===================================================================
--- plasma/theme.cpp.orig
+++ plasma/theme.cpp
@@ -80,7 +80,6 @@ public:
           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 @@ public:
         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 @@ void ThemePrivate::processWallpaperSetti
         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 @@ QString Theme::wallpaperPath(const QSize
         }
     }
 
+    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