diff --git a/kdelibs-3.93.0-kde149703.diff b/kdelibs-3.93.0-kde149703.diff
new file mode 100644
index 0000000..dacd7b0
--- /dev/null
+++ b/kdelibs-3.93.0-kde149703.diff
@@ -0,0 +1,12 @@
+diff -ur kdelibs-3.93.0/kdecore/services/kservicetypeprofile.cpp kdelibs-3.93.0-kde149703/kdecore/services/kservicetypeprofile.cpp
+--- kdelibs-3.93.0/kdecore/services/kservicetypeprofile.cpp 2007-08-29 23:53:54.000000000 +0200
++++ kdelibs-3.93.0-kde149703/kdecore/services/kservicetypeprofile.cpp 2007-09-10 05:44:50.000000000 +0200
+@@ -133,7 +133,7 @@
+ // appId = pService->storageId();
+
+ const QString type = config.readEntry( "ServiceType" );
+- const QString type2 = config.readEntry( "GenericServiceType" );
++ const QString type2 = config.readEntry( "GenericServiceType", "Application" );
+ int pref = config.readEntry( "Preference", 0 );
+
+ if ( !type.isEmpty() /* && pref >= 0*/ ) // Don't test for pref here. We want those in the list, to mark them as forbidden
diff --git a/kdelibs-3.93.0-kde149704.diff b/kdelibs-3.93.0-kde149704.diff
new file mode 100644
index 0000000..63f17c3
--- /dev/null
+++ b/kdelibs-3.93.0-kde149704.diff
@@ -0,0 +1,15 @@
+diff -ur kdelibs-3.93.0/kdeui/xmlgui/kxmlguiclient.cpp kdelibs-3.93.0-kde149704/kdeui/xmlgui/kxmlguiclient.cpp
+--- kdelibs-3.93.0/kdeui/xmlgui/kxmlguiclient.cpp 2007-08-29 23:53:46.000000000 +0200
++++ kdelibs-3.93.0-kde149704/kdeui/xmlgui/kxmlguiclient.cpp 2007-09-10 06:09:18.000000000 +0200
+@@ -341,6 +341,11 @@
+
+ QStringList allFiles = componentData().dirs()->findAllResources("data", filter) + componentData().dirs()->findAllResources("data", _file);
+
++ if (allFiles.isEmpty() || allFiles.first().startsWith("/usr/"))
++ {
++ allFiles.prepend(KStandardDirs::locateLocal("data", filter));
++ }
++
+ file = findMostRecentXMLFile( allFiles, doc );
+
+ if ( file.isEmpty() )
diff --git a/kdelibs-3.93.0-kde149705.diff b/kdelibs-3.93.0-kde149705.diff
new file mode 100644
index 0000000..0a7be8c
--- /dev/null
+++ b/kdelibs-3.93.0-kde149705.diff
@@ -0,0 +1,38 @@
+diff -ur kdelibs-3.93.0/kdeui/icons/kicontheme.cpp kdelibs-3.93.0-kde149705/kdeui/icons/kicontheme.cpp
+--- kdelibs-3.93.0/kdeui/icons/kicontheme.cpp 2007-07-26 12:43:19.000000000 +0200
++++ kdelibs-3.93.0-kde149705/kdeui/icons/kicontheme.cpp 2007-09-10 06:13:41.000000000 +0200
+@@ -504,7 +504,7 @@
+ return *_theme;
+
+ KConfigGroup cg(KGlobal::config(), "Icons");
+- *_theme = cg.readEntry("Theme", defaultThemeName());
++ *_theme = cg.readEntry("Theme4", cg.readEntry("Theme", defaultThemeName()));
+ if ( *_theme == QLatin1String("hicolor") ) *_theme = defaultThemeName();
+ /* if (_theme->isEmpty())
+ {
+diff -ur kdelibs-3.93.0/kdeui/kernel/kglobalsettings.cpp kdelibs-3.93.0-kde149705/kdeui/kernel/kglobalsettings.cpp
+--- kdelibs-3.93.0/kdeui/kernel/kglobalsettings.cpp 2007-08-29 23:53:34.000000000 +0200
++++ kdelibs-3.93.0-kde149705/kdeui/kernel/kglobalsettings.cpp 2007-09-10 06:10:35.000000000 +0200
+@@ -856,7 +856,7 @@
+ #ifdef Q_WS_X11
+ KConfigGroup pConfig (KGlobal::config(), "General");
+ QString defaultStyle = QLatin1String("plastique");// = KStyle::defaultStyle(); ### wait for KStyle4
+- QString styleStr = pConfig.readEntry("widgetStyle", defaultStyle);
++ QString styleStr = pConfig.readEntry("widgetStyle4", pConfig.readEntry("widgetStyle", defaultStyle));
+
+ if (kde_overrideStyle.isEmpty()) {
+ // ### add check whether we already use the correct style to return then
+diff -ur kdelibs-3.93.0/kutils/kdeglobals.kcfg kdelibs-3.93.0-kde149705/kutils/kdeglobals.kcfg
+--- kdelibs-3.93.0/kutils/kdeglobals.kcfg 2007-06-27 12:53:42.000000000 +0200
++++ kdelibs-3.93.0-kde149705/kutils/kdeglobals.kcfg 2007-09-10 06:18:45.000000000 +0200
+@@ -24,6 +24,10 @@
+ The name of the widget style, for example "keramik" or "plastik". Without quotes.
+ keramik
+
++
++
++ The name of the widget style, for example "oxygen". Without quotes. Defaults to widgetStyle.
++
+
+
+
diff --git a/kdelibs.spec b/kdelibs.spec
index ae25b59..0f8e603 100644
--- a/kdelibs.spec
+++ b/kdelibs.spec
@@ -4,7 +4,7 @@
Summary: K Desktop Environment 4 - Libraries
Version: 3.93.0
-Release: 2%{?dist}
+Release: 3%{?dist}
%if 0%{?fedora} > 8
Name: kdelibs
@@ -37,6 +37,12 @@ Source2: kde4.csh
# make -devel packages parallel-installable
Patch0: kdelibs-3.93.0-parallel-devel.diff
+# fix kde#149703
+Patch1: kdelibs-3.93.0-kde149703.diff
+# fix kde#149704
+Patch2: kdelibs-3.93.0-kde149704.diff
+# fix kde#149705
+Patch3: kdelibs-3.93.0-kde149705.diff
BuildRequires: qt4-devel >= 4.3.0
%global qt4_ver %(pkg-config QtCore --modversion 2>/dev/null || echo 4.3.0)
@@ -101,6 +107,9 @@ Also, the API and ABI are NOT fully stable yet (soft freeze only).
%prep
%setup -q -n kdelibs-%{version}
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
@@ -206,6 +215,9 @@ rm -rf %{buildroot}
%changelog
+* Mon Sep 10 2007 Kevin Kofler 3.93.0-3
+- fix kde#149703, kde#149704, kde#149705
+
* Sun Sep 9 2007 Kevin Kofler 3.93.0-2
- remove files which conflict with KDE 3
- rename kconfig_compiler and makekdewidgets to *4