backport patch to fix crash kded startup crash

This commit is contained in:
Than Ngo 2008-10-13 09:55:10 +00:00
parent aea3e29c8d
commit b2df829fb8
2 changed files with 37 additions and 1 deletions

View File

@ -0,0 +1,31 @@
Index: kdeui/shortcuts/kdedglobalaccel.cpp
===================================================================
--- kdeui/shortcuts/kdedglobalaccel.cpp (Revision 870758)
+++ kdeui/shortcuts/kdedglobalaccel.cpp (Revision 870759)
@@ -361,8 +361,9 @@
void KdedGlobalAccel::unRegister(const QStringList &actionId)
{
+ kDebug(125) << actionId;
+
Q_ASSERT(actionId.size()==4);
-
if (actionId.size() < 4) {
return;
}
@@ -586,7 +587,14 @@
foreach (int key, ad->keys) {
if (key != 0) {
- d->keyToAction.insert(key, ad);
+ if (d->keyToAction.contains(key)) {
+ // The shortcut is already used. The config file is
+ // broken. Ignore the request.
+ ad->keys.removeAll(key);
+ kWarning() << "Shortcut found twice in kglobalshortcutsrc.";
+ } else {
+ d->keyToAction.insert(key, ad);
+ }
}
}
}

View File

@ -2,7 +2,7 @@
Summary: K Desktop Environment 4 - Libraries
Version: 4.1.2
Release: 3%{?dist}
Release: 4%{?dist}
%if 0%{?fedora} > 8
Name: kdelibs
@ -79,6 +79,7 @@ Patch20: kdelibs-4.1.1-cmake.patch
## upstream patches
Patch100: kdelibs-4.1.2-googlemaps.patch
Patch101: kdelibs-4.1.2-kde#171870-kded-crash.patch
BuildRequires: qt4-devel >= 4.4.0
Requires: qt4 >= %{_qt4_version}
@ -205,6 +206,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
## upstream patches
%patch100 -p0 -b .googlemaps
%patch101 -p0 -b .kde#171870-kded-crash
%build
@ -365,6 +367,9 @@ rm -rf %{buildroot}
%changelog
* Mon Oct 13 2008 Than Ngo <than@redhat.com> 4.1.2-4
- backport patch to fix crash kded startup crash
* Wed Oct 08 2008 Than Ngo <than@redhat.com> 4.1.2-3
- backport fix for google maps