Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package krusader for openSUSE:Factory checked in at 2022-06-30 13:18:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/krusader (Old) and /work/SRC/openSUSE:Factory/.krusader.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "krusader" Thu Jun 30 13:18:17 2022 rev:54 rq:985850 version:2.7.2 Changes: -------- --- /work/SRC/openSUSE:Factory/krusader/krusader.changes 2019-08-27 10:24:19.939927793 +0200 +++ /work/SRC/openSUSE:Factory/.krusader.new.1548/krusader.changes 2022-06-30 13:18:23.421534643 +0200 @@ -1,0 +2,11 @@ +Wed Jun 29 14:04:17 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr> + +- Add patch to fix the 'Compress' menu (boo#1198725) + * 0001-Fixed-non-working-actions-for-create-extract-archive.patch + +------------------------------------------------------------------- +Thu Aug 27 12:56:33 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr> + +- Spec cleanup + +------------------------------------------------------------------- New: ---- 0001-Fixed-non-working-actions-for-create-extract-archive.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ krusader.spec ++++++ --- /var/tmp/diff_new_pack.tmhgHT/_old 2022-06-30 13:18:24.145535187 +0200 +++ /var/tmp/diff_new_pack.tmhgHT/_new 2022-06-30 13:18:24.153535193 +0200 @@ -1,7 +1,7 @@ # # spec file for package krusader # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,9 +23,11 @@ License: GPL-2.0-or-later Group: Productivity/File utilities URL: https://krusader.org/ -Source: http://download.kde.org/stable/krusader/%{version}/%{name}-%{version}.tar.xz +Source: https://download.kde.org/stable/krusader/%{version}/%{name}-%{version}.tar.xz Source1: krusader_browse_iso.desktop Source2: org.kde.krusader.root-mode.desktop +# PATCH-FIX-UPSTREAM +Patch0: 0001-Fixed-non-working-actions-for-create-extract-archive.patch BuildRequires: extra-cmake-modules >= 1.7.0 BuildRequires: fdupes BuildRequires: libacl-devel @@ -82,19 +84,23 @@ An advanced twin panel (commander style) file manager for KDE. %prep -%setup -q +%autosetup -p1 %build %cmake_kf5 -d build -%make_jobs +%cmake_build %install %kf5_makeinstall -C build + mkdir -p %{buildroot}%{_kf5_servicesdir}/ServiceMenus/ cp %{SOURCE1} %{buildroot}%{_kf5_servicesdir}/ServiceMenus/ cp %{SOURCE2} %{buildroot}%{_kf5_applicationsdir}/ + %suse_update_desktop_file org.kde.krusader.root-mode FileManager Utility + %find_lang %{name} + %fdupes %{buildroot} %post -p /sbin/ldconfig @@ -103,27 +109,27 @@ %files -f %{name}.lang %license COPYING %doc README AUTHORS ChangeLog TODO +%dir %{_kf5_appstreamdir} +%dir %{_kf5_mandir}/uk +%dir %{_kf5_mandir}/uk/man1 +%exclude %{_kf5_htmldir}/*/krusader %{_kf5_applicationsdir}/org.kde.krusader*.desktop %{_kf5_appsdir}/krusader +%{_kf5_appstreamdir}/org.kde.krusader.appdata.xml %{_kf5_bindir}/krusader %{_kf5_iconsdir}/??color/*/apps/krusader*.png -%{_kf5_plugindir}/kio_krarc.so -%{_kf5_servicesdir}/krarc.protocol %{_kf5_kxmlguidir}/ -%{_kf5_mandir}/man1/krusader.1.gz -%dir %{_kf5_mandir}/uk -%dir %{_kf5_mandir}/uk/man1 %{_kf5_mandir}/*/man1/krusader.1.gz -%exclude %{_kf5_htmldir}/*/krusader -%dir %{_kf5_appstreamdir} -%{_kf5_appstreamdir}/org.kde.krusader.appdata.xml +%{_kf5_mandir}/man1/krusader.1.gz +%{_kf5_plugindir}/kio_krarc.so +%{_kf5_servicesdir}/krarc.protocol %files -n kio_iso %config %{_kf5_configdir}/kio_isorc -%{_kf5_plugindir}/kio_iso.so* -%{_kf5_servicesdir}/iso.protocol %dir %{_kf5_servicesdir}/ServiceMenus +%{_kf5_plugindir}/kio_iso.so* %{_kf5_servicesdir}/ServiceMenus/krusader_browse_iso.desktop +%{_kf5_servicesdir}/iso.protocol %files doc %doc %lang(en) %{_kf5_htmldir}/en/krusader ++++++ 0001-Fixed-non-working-actions-for-create-extract-archive.patch ++++++ From 3d7ae219e8df07861d9a68d6f25a8f861f48ea9b Mon Sep 17 00:00:00 2001 From: Yaroslav Sidlovsky <zawertun@gmail.com> Date: Sat, 20 Nov 2021 19:16:02 +0300 Subject: [PATCH] Fixed non working actions for create / extract archives PanelContextMenu instance created in PanelContextMenu::run now lives long enough so that create / extract archive actions won't be deleted right after PanelContextMenu::run call. Important note: after this patch I've spotted crash, same as in the bug https://bugs.kde.org/show_bug.cgi?id=443540. Looks like this crash has been fixed in the KF5 5.89(git). BUG: 441376 --- krusader/Panel/listpanel.cpp | 7 ++++--- krusader/Panel/listpanel.h | 2 ++ krusader/Panel/panelcontextmenu.cpp | 9 +++++---- krusader/Panel/panelcontextmenu.h | 5 +++-- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/krusader/Panel/listpanel.cpp b/krusader/Panel/listpanel.cpp index 5789d22..4278eb7 100644 --- a/krusader/Panel/listpanel.cpp +++ b/krusader/Panel/listpanel.cpp @@ -60,7 +60,6 @@ #include "krpreviewpopup.h" #include "krsearchbar.h" #include "listpanelactions.h" -#include "panelcontextmenu.h" #include "panelfunc.h" #include "sidebar.h" #include "viewactions.h" @@ -873,12 +872,14 @@ void ListPanel::popRightClickMenu(const QPoint &loc) { // run it, on the mouse location int j = QFontMetrics(font()).height() * 2; - PanelContextMenu::run(QPoint(loc.x() + 5, loc.y() + j), this); + auto menu = PanelContextMenu::run(QPoint(loc.x() + 5, loc.y() + j), this); + _contextMenu.reset(menu); } void ListPanel::popEmptyRightClickMenu(const QPoint &loc) { - PanelContextMenu::run(loc, this); + auto menu = PanelContextMenu::run(loc, this); + _contextMenu.reset(menu); } QString ListPanel::getCurrentName() const diff --git a/krusader/Panel/listpanel.h b/krusader/Panel/listpanel.h index b1633dc..5180e8a 100644 --- a/krusader/Panel/listpanel.h +++ b/krusader/Panel/listpanel.h @@ -54,6 +54,7 @@ #include <KIOFileWidgets/KUrlNavigator> #include "krpanel.h" +#include "panelcontextmenu.h" #define PROP_SYNC_BUTTON_ON 1 #define PROP_LOCKED 2 @@ -253,6 +254,7 @@ private: QUrl _pinnedUrl; // only for TabState::PINNED TabState _tabState; QList<int> sidebarSplitterSizes; + QScopedPointer<PanelContextMenu> _contextMenu; }; #endif diff --git a/krusader/Panel/panelcontextmenu.cpp b/krusader/Panel/panelcontextmenu.cpp index ec7b172..8b0239e 100644 --- a/krusader/Panel/panelcontextmenu.cpp +++ b/krusader/Panel/panelcontextmenu.cpp @@ -55,14 +55,15 @@ #include "../MountMan/kmountman.h" #include "../UserAction/useractionpopupmenu.h" -void PanelContextMenu::run(const QPoint &pos, KrPanel *panel) +PanelContextMenu* PanelContextMenu::run(const QPoint &pos, KrPanel *panel) { - PanelContextMenu menu(panel); - QAction * res = menu.exec(pos); + auto menu = new PanelContextMenu(panel); + QAction * res = menu->exec(pos); int result = res && res->data().canConvert<int>() ? res->data().toInt() : -1; - menu.performAction(result); + menu->performAction(result); + return menu; } /** diff --git a/krusader/Panel/panelcontextmenu.h b/krusader/Panel/panelcontextmenu.h index cd37a00..7199af4 100644 --- a/krusader/Panel/panelcontextmenu.h +++ b/krusader/Panel/panelcontextmenu.h @@ -40,10 +40,11 @@ class PanelContextMenu : public QMenu { Q_OBJECT public: - static void run(const QPoint &pos, KrPanel *panel); + static PanelContextMenu* run(const QPoint &pos, KrPanel *panel); private: - explicit PanelContextMenu(KrPanel *thePanel, QWidget *parent = 0); + explicit PanelContextMenu(KrPanel *thePanel, QWidget *parent = nullptr); + void performAction(int id); void addEmptyMenuEntries(); // adds the choices for a menu without selected items void addCreateNewMenu(); // adds a "create new" submenu -- 2.36.1