Hello community, here is the log from the commit of package grantleetheme for openSUSE:Factory checked in at 2018-05-16 11:27:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/grantleetheme (Old) and /work/SRC/openSUSE:Factory/.grantleetheme.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grantleetheme" Wed May 16 11:27:20 2018 rev:25 rq:607114 version:18.04.1 Changes: -------- --- /work/SRC/openSUSE:Factory/grantleetheme/grantleetheme.changes 2018-04-25 09:47:08.046130857 +0200 +++ /work/SRC/openSUSE:Factory/.grantleetheme.new/grantleetheme.changes 2018-05-16 11:27:21.727352199 +0200 @@ -1,0 +2,10 @@ +Fri May 11 05:17:43 UTC 2018 - lbeltr...@kde.org + +- Update to 18.04.1 + * New bugfix release + * For more details please see: + * https://www.kde.org/announcements/announce-applications-18.04.1.php +- Changes since 18.04.0: + * Support deleting ThemeManager after actiongroup and menu, to fix crash in kmail + +------------------------------------------------------------------- Old: ---- grantleetheme-18.04.0.tar.xz New: ---- grantleetheme-18.04.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grantleetheme.spec ++++++ --- /var/tmp/diff_new_pack.1heRpp/_old 2018-05-16 11:27:22.839311790 +0200 +++ /var/tmp/diff_new_pack.1heRpp/_new 2018-05-16 11:27:22.839311790 +0200 @@ -19,7 +19,7 @@ %bcond_without lang Name: grantleetheme -Version: 18.04.0 +Version: 18.04.1 Release: 0 %define kf5_version 5.26.0 # Latest stable Applications (e.g. 17.08 in KA, but 17.11.80 in KUA) ++++++ grantleetheme-18.04.0.tar.xz -> grantleetheme-18.04.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grantleetheme-18.04.0/CMakeLists.txt new/grantleetheme-18.04.1/CMakeLists.txt --- old/grantleetheme-18.04.0/CMakeLists.txt 2018-04-13 02:16:26.000000000 +0200 +++ new/grantleetheme-18.04.1/CMakeLists.txt 2018-05-08 02:23:56.000000000 +0200 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.0) set(KF5_VERSION "5.44.0") -set(PIM_VERSION "5.8.0") +set(PIM_VERSION "5.8.1") project(GrantleeTheme VERSION ${PIM_VERSION}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grantleetheme-18.04.0/autotest/grantleethememanagertest.cpp new/grantleetheme-18.04.1/autotest/grantleethememanagertest.cpp --- old/grantleetheme-18.04.0/autotest/grantleethememanagertest.cpp 2018-04-07 11:13:57.000000000 +0200 +++ new/grantleetheme-18.04.1/autotest/grantleethememanagertest.cpp 2018-04-30 09:40:55.000000000 +0200 @@ -39,6 +39,7 @@ private Q_SLOTS: void initTestCase(); void updateActionList(); + void destructionOrderTest(); }; void GrantleeThemeManagerTest::initTestCase() @@ -72,7 +73,37 @@ QVERIFY(QMetaObject::invokeMethod(manager, "directoryChanged")); QCOMPARE(menu2.menu()->actions().count(), 4); - delete manager; // must be deleted while the action group still exists + delete manager; // deleted while the action group still exists +} + + +void GrantleeThemeManagerTest::destructionOrderTest() +{ + KActionCollection coll(this); + GrantleeTheme::ThemeManager *manager(new GrantleeTheme::ThemeManager(QStringLiteral("Stuff"), QStringLiteral("filename.testdesktop"), &coll, QStringLiteral("themes"))); + QCOMPARE(manager->themes().count(), 2); + QVERIFY(!manager->actionForTheme()); // Bug? No "default" theme. + + QActionGroup* actionGroup = new QActionGroup(this); + manager->setActionGroup(actionGroup); + + KActionMenu* menu = new KActionMenu(this); + manager->setThemeMenu(menu); + QCOMPARE(menu->menu()->actions().count(), 4); // 2 themes + separator + download + + KActionMenu* menu2 = new KActionMenu(this); + manager->setThemeMenu(menu2); + QCOMPARE(menu2->menu()->actions().count(), 4); + + QVERIFY(QMetaObject::invokeMethod(manager, "directoryChanged")); + QCOMPARE(menu2->menu()->actions().count(), 4); + + manager->setThemeMenu(nullptr); + delete menu; + delete menu2; + manager->setActionGroup(nullptr); + delete actionGroup; + delete manager; // deleted with the action group already deleted (as happens in kmail) } QTEST_MAIN(GrantleeThemeManagerTest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grantleetheme-18.04.0/po/gl/libgrantleetheme.po new/grantleetheme-18.04.1/po/gl/libgrantleetheme.po --- old/grantleetheme-18.04.0/po/gl/libgrantleetheme.po 2018-04-13 02:16:26.000000000 +0200 +++ new/grantleetheme-18.04.1/po/gl/libgrantleetheme.po 2018-05-08 02:23:55.000000000 +0200 @@ -3,14 +3,14 @@ # # Xosé <xoseca...@gmail.com>, 2013. # Adrián Chaves Fernández (Gallaecio) <adriyeticha...@gmail.com>, 2015. +# Adrian Chaves <adr...@chaves.io>, 2018. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2017-09-12 03:26+0200\n" -"PO-Revision-Date: 2015-11-07 10:59+0100\n" -"Last-Translator: Adrián Chaves Fernández (Gallaecio) <adriyetichaves@gmail." -"com>\n" +"PO-Revision-Date: 2018-04-18 20:28+0100\n" +"Last-Translator: Adrian Chaves <adr...@chaves.io>\n" "Language-Team: Galician <kde-i18n-...@kde.org>\n" "Language: gl\n" "MIME-Version: 1.0\n" @@ -33,10 +33,9 @@ msgstr "Mensaxe de erro" #: grantleetheme.cpp:106 -#, fuzzy, kde-format -#| msgid "Template" +#, kde-format msgid "(null template)" -msgstr "Modelo" +msgstr "(modelo nulo)" #: grantleetheme.cpp:214 #, kde-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grantleetheme-18.04.0/po/zh_CN/libgrantleetheme.po new/grantleetheme-18.04.1/po/zh_CN/libgrantleetheme.po --- old/grantleetheme-18.04.0/po/zh_CN/libgrantleetheme.po 2018-04-13 02:16:26.000000000 +0200 +++ new/grantleetheme-18.04.1/po/zh_CN/libgrantleetheme.po 2018-05-08 02:23:56.000000000 +0200 @@ -7,7 +7,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2017-09-12 03:26+0200\n" -"PO-Revision-Date: 2018-04-05 09:39-0400\n" +"PO-Revision-Date: 2018-04-26 06:08-0400\n" "Last-Translator: guoyunhebrave <guoyunhebr...@gmail.com>\n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grantleetheme-18.04.0/src/grantleethememanager.cpp new/grantleetheme-18.04.1/src/grantleethememanager.cpp --- old/grantleetheme-18.04.0/src/grantleethememanager.cpp 2018-04-07 11:13:57.000000000 +0200 +++ new/grantleetheme-18.04.1/src/grantleethememanager.cpp 2018-04-30 09:40:55.000000000 +0200 @@ -85,16 +85,7 @@ ~Private() { - for (KToggleAction *action : qAsConst(themesActionList)) { - if (actionGroup) { - actionGroup->removeAction(action); - } - if (actionCollection) { - actionCollection->removeAction(action); - } - delete action; - } - themesActionList.clear(); + removeActions(); themes.clear(); if (downloadThemesDialog) { delete downloadThemesDialog.data(); @@ -161,18 +152,11 @@ watch->startScan(); } - void updateActionList() + void removeActions() { if (!actionGroup || !menu) { return; } - QString themeActivated; - - QAction *selectedAction = actionGroup->checkedAction(); - if (selectedAction) { - themeActivated = selectedAction->data().toString(); - } - for (KToggleAction *action : qAsConst(themesActionList)) { actionGroup->removeAction(action); menu->removeAction(action); @@ -185,6 +169,21 @@ menu->removeAction(downloadThemesAction); } themesActionList.clear(); + } + + void updateActionList() + { + if (!actionGroup || !menu) { + return; + } + QString themeActivated; + + QAction *selectedAction = actionGroup->checkedAction(); + if (selectedAction) { + themeActivated = selectedAction->data().toString(); + } + + removeActions(); bool themeActivatedFound = false; QMapIterator<QString, GrantleeTheme::Theme> i(themes); @@ -305,6 +304,7 @@ void ThemeManager::setActionGroup(QActionGroup *actionGroup) { if (d->actionGroup != actionGroup) { + d->removeActions(); d->actionGroup = actionGroup; d->updateActionList(); }