SHA256
1
0
forked from pool/krusader

Accepting request 684182 from home:wolfi323:branches:KDE:Extra

- Add Prefer-to-find-oktetapart-by-desktop-file.patch to make it
  compatible with the upcoming okteta 0.26 release

OBS-URL: https://build.opensuse.org/request/show/684182
OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/krusader?expand=0&rev=34
This commit is contained in:
Luca Beltrame 2019-03-12 13:13:18 +00:00 committed by Git OBS Bridge
parent 258b527a6b
commit ae869b12c0
3 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,51 @@
From 796b33f0e6c8b8545f7eb3bba8f6eb6f373e41c8 Mon Sep 17 00:00:00 2001
From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
Date: Sat, 9 Feb 2019 18:36:30 +0100
Subject: Prefer to find oktetapart by desktop file, not binary name
Summary:
Okteta >= 0.26 installs the oktetapart binary in the kf5/parts subdir
of the plugins, so the old check will not find it.
But that version also installs a desktop file again, so prefer to use that.
Test Plan:
Okteta KParts plugin is found also with devel version of what will be 0.26
in some weeks.
Reviewers: #krusader, nmel
Reviewed By: #krusader, nmel
Subscribers: nmel, yurchor
Differential Revision: https://phabricator.kde.org/D18881
---
krusader/KViewer/panelviewer.cpp | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/krusader/KViewer/panelviewer.cpp b/krusader/KViewer/panelviewer.cpp
index c6c6df1..80e69d8 100644
--- a/krusader/KViewer/panelviewer.cpp
+++ b/krusader/KViewer/panelviewer.cpp
@@ -146,8 +146,16 @@ KParts::ReadOnlyPart* PanelViewer::getHexPart()
if (KConfigGroup(krConfig, "General").readEntry("UseOktetaViewer", _UseOktetaViewer)) {
if (mimes->find("oktetapart") == mimes->end()) {
- KPluginLoader loader("oktetapart");
- if (KPluginFactory *factory = loader.factory()) {
+ KPluginFactory* factory = nullptr;
+ // Okteta >= 0.26 provides a desktop file, prefer that as the binary changes name
+ KService::Ptr service = KService::serviceByDesktopName("oktetapart");
+ if (service) {
+ factory = KPluginLoader(*service.data()).factory();
+ } else {
+ // fallback to search for desktopfile-less old variant
+ factory = KPluginLoader("oktetapart").factory();
+ }
+ if (factory) {
if ((part = factory->create<KParts::ReadOnlyPart>(this, this)))
mimes->insert("oktetapart", part);
}
--
cgit v1.1

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Mar 12 06:41:59 UTC 2019 - wbauer@tmo.at
- Add Prefer-to-find-oktetapart-by-desktop-file.patch to make it
compatible with the upcoming okteta 0.26 release
-------------------------------------------------------------------
Sun Aug 12 17:08:29 UTC 2018 - wbauer@tmo.at

View File

@ -26,6 +26,8 @@ Url: https://krusader.org/
Source: http://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: Prefer-to-find-oktetapart-by-desktop-file.patch
BuildRequires: extra-cmake-modules >= 1.7.0
BuildRequires: fdupes
BuildRequires: libacl-devel
@ -84,6 +86,7 @@ An advanced twin panel (commander style) file manager for KDE.
%prep
%setup -q -n %{name}-%{version}
%autopatch -p1
%build
export RPM_OPT_FLAGS="%{optflags} -fpermissive"