Hello community, here is the log from the commit of package kdebase4-workspace for openSUSE:Factory checked in at Fri Feb 4 18:09:19 CET 2011. -------- --- KDE/kdebase4-workspace/kdebase4-workspace.changes 2011-01-26 15:26:56.000000000 +0100 +++ kdebase4-workspace/kdebase4-workspace.changes 2011-02-04 09:34:52.000000000 +0100 @@ -0,0 +1,7 @@ +------------------------------------------------------------------- +Fri Feb 4 08:24:27 UTC 2011 - wstephenson@novell.com + +- Backport patch to prevent the clock calendar widget spawning + Akonadi (bnc#661844) + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- bko265206-plasma-notification-crashfix.diff bnc661844-akonadi-launched-by-calendarwidget.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdebase4-wallpapers.spec ++++++ --- /var/tmp/diff_new_pack.ffOLLY/_old 2011-02-04 18:03:46.000000000 +0100 +++ /var/tmp/diff_new_pack.ffOLLY/_new 2011-02-04 18:03:46.000000000 +0100 @@ -23,7 +23,7 @@ Summary: KDE 4 Wallpapers Url: http://www.kde.org/ Version: 4.6.0 -Release: 1 +Release: 2 BuildRequires: libdbusmenu-qt-devel BuildRequires: libkdepimlibs4-devel >= %version BuildRequires: libqimageblitz-devel ++++++ kdebase4-workspace.spec ++++++ --- /var/tmp/diff_new_pack.ffOLLY/_old 2011-02-04 18:03:46.000000000 +0100 +++ /var/tmp/diff_new_pack.ffOLLY/_new 2011-02-04 18:03:46.000000000 +0100 @@ -23,7 +23,7 @@ Summary: The KDE Workspace Components Url: http://www.kde.org/ Version: 4.6.0 -Release: 1 +Release: 2 BuildRequires: audit-devel BuildRequires: bluez-devel BuildRequires: ConsoleKit-devel @@ -106,6 +106,8 @@ Patch208: kdm-themer-wallpaper-sizes.diff Patch211: disable-python-support.diff Patch212: build-final.diff +Patch213: bko265206-plasma-notification-crashfix.diff +Patch214: bnc661844-akonadi-launched-by-calendarwidget.diff Requires: kde4-kgreeter-plugins = %version Requires: kdebase4-workspace-liboxygenstyle = %version %kde4_runtime_requires @@ -199,6 +201,8 @@ #%patch208 %patch211 %patch212 +%patch213 -p1 +%patch214 -p1 cp %{SOURCE3} kwin/effects/cube/data/cubecap.png %build ++++++ python-kdebase4.spec ++++++ --- /var/tmp/diff_new_pack.ffOLLY/_old 2011-02-04 18:03:46.000000000 +0100 +++ /var/tmp/diff_new_pack.ffOLLY/_new 2011-02-04 18:03:46.000000000 +0100 @@ -27,7 +27,7 @@ Summary: Python bindings for KDE 4 desktop shell Url: http://www.kde.org/ Version: 4.6.0 -Release: 1 +Release: 2 BuildRequires: NetworkManager-devel bluez-devel libQtWebKit-devel libdbusmenu-qt-devel libkdepimlibs4-devel >= %version libqimageblitz-devel BuildRequires: libknotificationitem-devel libsmbclient-devel libxklavier-devel python-kde4-devel >= %version Source0: kdebase-workspace-%version.tar.bz2 ++++++ bko265206-plasma-notification-crashfix.diff ++++++ diff --git a/plasma/generic/applets/notifications/plasma-applet-notifications.desktop b/plasma/generic/applets/notifications/plasma-applet-notifications.desktop index 77f4b1f..63605df 100644 --- a/plasma/generic/applets/notifications/plasma-applet-notifications.desktop +++ b/plasma/generic/applets/notifications/plasma-applet-notifications.desktop @@ -1,140 +1,6 @@ [Desktop Entry] Name=Notifications -Name[ar]=تنبيهات -Name[ast]=Notificaciones -Name[be]=Абвяшчэнні -Name[be@latin]=Infarmavańnie -Name[bg]=Уведомяване -Name[bn]=বিজ্ঞপ্তি -Name[bn_IN]=সূচনাবার্তা -Name[br]=Kemenn -Name[ca]=Notificacions -Name[ca@valencia]=Notificacions -Name[cs]=Oznamování -Name[csb]=Dôwanié wiédzë -Name[da]=Bekendtgørelser -Name[de]=Benachrichtigungen -Name[el]=Ειδοποιήσεις -Name[en_GB]=Notifications -Name[eo]=Atentigoj -Name[es]=Notificaciones -Name[et]=Märguanded -Name[eu]=Jakinarazpenak -Name[fa]=اخطارها -Name[fi]=Huomautukset -Name[fr]=Notifications -Name[fy]=Notifikaasjes -Name[ga]=Fógairt -Name[gl]=Notificacións -Name[gu]=નોંધણીઓ -Name[he]=הודעות -Name[hi]=सूचनाएँ -Name[hne]=सूचना मन ल -Name[hr]=Obavijesti -Name[hu]=Rendszerüzenetek -Name[ia]=Notificationes -Name[id]=Notifikasi -Name[is]=Kerfistilkynningar -Name[it]=Notifiche -Name[ja]=通知 -Name[kk]=Құлақтандыру -Name[km]=សេចក្តីជូនដំណឹង -Name[kn]=ಸೂಚನೆಗಳು -Name[ko]=알림 -Name[ku]=Agahdarî -Name[lt]=Pranešimai -Name[lv]=Paziņojumi -Name[mai]=सूचनासभ -Name[mk]=Известувања -Name[ml]=അറിയിപ്പുകള് -Name[mr]=सूचना -Name[ms]=Pemberitahuan -Name[nb]=Varslinger -Name[nds]=Bescheden -Name[ne]=सूचना -Name[nl]=Meldingen -Name[nn]=Varslingar -Name[oc]=Notificacions -Name[or]=ବିଜ୍ଞପ୍ତି -Name[pa]=ਨੋਟੀਫਿਕੇਸ਼ਨ -Name[pl]=Powiadomienia -Name[pt]=Notificações -Name[pt_BR]=Notificações -Name[ro]=Notificări -Name[ru]=Системные уведомления -Name[se]=Dieđáhusat -Name[si]=දැනුම් දීම් -Name[sk]=Upozornenia -Name[sl]=Obvestila -Name[sr]=обавештења -Name[sr@ijekavian]=обавјештења -Name[sr@ijekavianlatin]=obavještenja -Name[sr@latin]=obaveštenja -Name[sv]=Underrättelser -Name[ta]=Notifications -Name[te]=నోటీసులు -Name[tg]=Огоҳиномаҳо -Name[th]=การแจ้งให้ทราบต่าง ๆ -Name[tr]=Bildirimler -Name[uk]=Сповіщення -Name[uz]=Xabarnomalar -Name[uz@cyrillic]=Хабарномалар -Name[wa]=Notifiaedjes -Name[x-test]=xxNotificationsxx -Name[zh_CN]=通知 -Name[zh_TW]=通知 Comment=Display notifications and jobs -Comment[ar]=أظهر التنبيهات والمهام -Comment[ast]=Amosar notificaciones y xeres -Comment[ca]=Mostra les notificacions i els treballs -Comment[ca@valencia]=Mostra les notificacions i els treballs -Comment[cs]=Oznámení a úlohy -Comment[da]=Vis bekendtgørelser og job -Comment[de]=Benachrichtigungen und Aktionen anzeigen -Comment[el]=Εμφανίζει ειδοποιήσεις και εργασίες -Comment[en_GB]=Display notifications and jobs -Comment[es]=Mostrar notificaciones y tareas -Comment[et]=Märguannete ja tööde näitamine -Comment[eu]=Bistaratu jakinarazpenak eta lanak -Comment[fi]=Näyttää huomautuksia ja töitä -Comment[fr]=Affiche les notifications et les tâches -Comment[ga]=Taispeáin fógraí agus jabanna -Comment[he]=משמש להצגת הודעות ועבודות -Comment[hr]=Prikazuje obavijesti i poslove -Comment[hu]=Értesítések és feladatok megjelenítése -Comment[ia]=Monstrar notificationes e labores -Comment[id]=Tampilan notifikasi dan tugas -Comment[is]=Birting tilkynninga og verka -Comment[it]=Mostra notifiche e processi -Comment[ja]=ディスプレイ通知とジョブ -Comment[kk]=Құлақтандыру мен тапсырмаларды көрсету -Comment[km]=បង្ហាញការជូនដំណឹង និងការងារ -Comment[kn]=ಸೂಚನೆಗಳು ಹಾಗು ಕಾರ್ಯಗಳನ್ನು ಪ್ರದರ್ಶಿಸು -Comment[ko]=알림과 작업 표시 -Comment[lt]=Rodyti pranešimus ir darbus -Comment[lv]=Parāda paziņojumus un darbus -Comment[nb]=Vis varslinger og jobber -Comment[nds]=Bescheden un Opgaven wiesen -Comment[nl]=Meldingen en taken tonen -Comment[pa]=ਨੋਟੀਫਿਕੇਸ਼ਨ ਤੇ ਜਾਬ ਵੇਖੋ -Comment[pl]=Pokazuje powiadomienia i zadania -Comment[pt]=Mostrar as notificações e tarefas -Comment[pt_BR]=Exibe notificações e tarefas -Comment[ru]=Уведомления и задания -Comment[si]=කාර්ය සහ දැනුම්දීමෙ පෙන්වන්න -Comment[sk]=Zobrazenie upozornení a úloh -Comment[sl]=Prikazuje obvestila in opravila -Comment[sr]=Приказује обавештења и послове -Comment[sr@ijekavian]=Приказује обавјештења и послове -Comment[sr@ijekavianlatin]=Prikazuje obavještenja i poslove -Comment[sr@latin]=Prikazuje obaveštenja i poslove -Comment[sv]=Visa underrättelser och jobb -Comment[tg]=Иттилооти огоҳиҳо ва амалҳо -Comment[th]=แสดงการแจ้งให้ทราบและงานต่าง ๆ -Comment[uk]=Показ сповіщень і завдань -Comment[x-test]=xxDisplay notifications and jobsxx -Comment[zh_CN]=显示通知和任务 -Comment[zh_TW]=顯示通知與工作 Icon=dialog-information Type=Service diff --git a/plasma/generic/applets/notifications/ui/notificationgroup.cpp b/plasma/generic/applets/notifications/ui/notificationgroup.cpp index 1f7c0b8..6bbf43c 100644 --- a/plasma/generic/applets/notifications/ui/notificationgroup.cpp +++ b/plasma/generic/applets/notifications/ui/notificationgroup.cpp @@ -66,6 +66,8 @@ NotificationGroup::NotificationGroup(Extender *parent, uint groupId) NotificationGroup::~NotificationGroup() { + m_extenderItemsForNotification.clear(); + m_notificationForExtenderItems.clear(); qDeleteAll(m_notifications); } @@ -137,6 +139,11 @@ void NotificationGroup::addNotification(Notification *notification) void NotificationGroup::extenderItemDestroyed(Plasma::ExtenderItem *object) { + if (m_extenderItemsForNotification.isEmpty()) { + // either we aren't tracking this notification or else we're being deleted + return; + } + Notification *n = m_notificationForExtenderItems.value(object); if (n) { @@ -148,10 +155,16 @@ void NotificationGroup::extenderItemDestroyed(Plasma::ExtenderItem *object) void NotificationGroup::removeNotification(Notification *notification) { + if (m_extenderItemsForNotification.isEmpty()) { + // either we aren't tracking this notification or else we're being deleted + return; + } + Plasma::ExtenderItem *item = m_extenderItemsForNotification.value(notification); if (item) { m_notificationForExtenderItems.remove(item); } + m_extenderItemsForNotification.remove(notification); m_notifications.removeAll(notification); QString applicationName = m_appForNotification.value(notification); diff --git a/plasma/generic/applets/notifications/ui/notifications.cpp b/plasma/generic/applets/notifications/ui/notifications.cpp index 9b1a7c0..c7aa6dd 100644 --- a/plasma/generic/applets/notifications/ui/notifications.cpp +++ b/plasma/generic/applets/notifications/ui/notifications.cpp @@ -106,6 +106,9 @@ Notifications::~Notifications() { // stop listening to the manager disconnect(m_manager, 0, this, 0); + if (m_notificationStackDialog) { + disconnect(m_notificationStackDialog, 0, this, 0); + } foreach (Notification *notification, m_manager->notifications()) { // we don't want a destroyed managed after the destruction of manager @@ -342,10 +345,10 @@ void Notifications::initExtenderItem(Plasma::ExtenderItem *extenderItem) return; } - if (extenderItem->config().readEntry("type", "") == "job") { + if (extenderItem->config().readEntry("type", QString()) == "job") { extenderItem->setWidget(new JobWidget(0, extenderItem)); - //unknown type, this should never happen } else { + //unknown type, this should never happen extenderItem->destroy(); } diff --git a/plasma/generic/applets/notifications/ui/notificationstack.cpp b/plasma/generic/applets/notifications/ui/notificationstack.cpp index 2f68961..3b53559 100644 --- a/plasma/generic/applets/notifications/ui/notificationstack.cpp +++ b/plasma/generic/applets/notifications/ui/notificationstack.cpp @@ -54,11 +54,9 @@ NotificationStack::~NotificationStack() void NotificationStack::addNotification(Notification *notification) { m_canDismissTimer->start(1000); - connect(notification, SIGNAL(notificationDestroyed(Notification *)), this, SLOT(removeNotification(Notification *))); - connect(notification, SIGNAL(expired(Notification *)), this, SLOT(delayedRemoveNotification(Notification *))); - - disconnect(notification, SIGNAL(changed(Notification *)), this, SLOT(notificationChanged(Notification *))); - connect(notification, SIGNAL(changed(Notification *)), this, SLOT(notificationChanged(Notification *))); + connect(notification, SIGNAL(notificationDestroyed(Notification *)), this, SLOT(removeNotification(Notification *)), Qt::UniqueConnection); + connect(notification, SIGNAL(expired(Notification *)), this, SLOT(delayedRemoveNotification(Notification *)), Qt::UniqueConnection); + connect(notification, SIGNAL(changed(Notification *)), this, SLOT(notificationChanged(Notification *)), Qt::UniqueConnection); NotificationWidget *notificationWidget = new NotificationWidget(notification, this); notificationWidget->installEventFilter(this); ++++++ bnc661844-akonadi-launched-by-calendarwidget.diff ++++++ ++++ 718 lines (skipped) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org