From 84faf6fd298de3b6a7c2f3e9a53b8eeb70705396 Mon Sep 17 00:00:00 2001
From: Slávek Banko <slavek.banko@axis.cz>
Date: Thu, 5 Nov 2026 15:28:08 +0100
Subject: FreeBSD kipi-plugins: backport commit 9a6a63a741 Fix Wallet
 initialization when no window is active
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
---
 freebsd/libraries/kipi-plugins/Makefile            |  2 +-
 .../patch-bp000-fix-tdewallet-initialization.diff  | 99 ++++++++++++++++++++++
 2 files changed, 100 insertions(+), 1 deletion(-)
 create mode 100644 freebsd/libraries/kipi-plugins/files/patch-bp000-fix-tdewallet-initialization.diff

diff --git a/freebsd/libraries/kipi-plugins/Makefile b/freebsd/libraries/kipi-plugins/Makefile
index ff76fedc1..fbf1ea6b9 100644
--- a/freebsd/libraries/kipi-plugins/Makefile
+++ b/freebsd/libraries/kipi-plugins/Makefile
@@ -11,7 +11,7 @@ PORTNAME=		kipi-plugins-trinity
 COMMENT=		Trinity image manipulation/handling plugins for KIPI aware programs
 TDE_PREVERSION=		
 MASTER_SITE_SUBDIR=	k/${PORTNAME}
-PORTREVISION=		0
+PORTREVISION=		1
 CATEGORIES=		graphics
 DIST_SUBDIR=		TDE/libraries
 
diff --git a/freebsd/libraries/kipi-plugins/files/patch-bp000-fix-tdewallet-initialization.diff b/freebsd/libraries/kipi-plugins/files/patch-bp000-fix-tdewallet-initialization.diff
new file mode 100644
index 000000000..c901c887c
--- /dev/null
+++ b/freebsd/libraries/kipi-plugins/files/patch-bp000-fix-tdewallet-initialization.diff
@@ -0,0 +1,99 @@
+commit 9a6a63a7410c039e4fda78dff5f0625d39e1c97c
+Author: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
+Date:   Wed Nov 4 10:34:04 2026 -0300
+
+    Fix Wallet initialization when no window is active
+    
+    Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
+
+diff --git a/kipi-plugins/galleryexport/galleries.cpp b/kipi-plugins/galleryexport/galleries.cpp
+index 9f857381..dcd41229 100644
+--- a/kipi-plugins/galleryexport/galleries.cpp
++++ b/kipi-plugins/galleryexport/galleries.cpp
+@@ -107,7 +107,7 @@ Galleries::~Galleries()
+   // Todo: clear up mGalleries
+ }
+ 
+-void Galleries::Load()
++void Galleries::Load(TQWidget* parent)
+ {
+   static bool bln_loaded = false;
+   if (bln_loaded) return;
+@@ -115,7 +115,7 @@ void Galleries::Load()
+ 
+   bool bln_use_wallet = false;
+   mpWallet = TDEWallet::Wallet::openWallet(TDEWallet::Wallet::NetworkWallet(),
+-                                         kapp->activeWindow()->winId(),
++                                         parent ? parent->winId() : 0,
+                                          TDEWallet::Wallet::Synchronous);
+   if (!mpWallet)
+   {
+@@ -226,7 +226,8 @@ void Galleries::Save()
+ 
+ TQListView* Galleries::asTQListView(TQWidget* pParent)
+ {
+-  Load();
++  TQWidget* walletParent = pParent ? pParent->topLevelWidget() : nullptr;
++  Load(walletParent);
+ 
+   TQListView* p_lv = new TQListView (pParent);
+   p_lv->addColumn(i18n("Gallery Name"));
+diff --git a/kipi-plugins/galleryexport/galleries.h b/kipi-plugins/galleryexport/galleries.h
+index e129d3cf..62369f48 100644
+--- a/kipi-plugins/galleryexport/galleries.h
++++ b/kipi-plugins/galleryexport/galleries.h
+@@ -98,7 +98,7 @@ public:
+   TQListView* asTQListView(TQWidget* pParent);
+ 
+ private:
+-  void Load();
++  void Load(TQWidget* parent);
+ 
+   TDEWallet::Wallet* mpWallet;
+ 
+diff --git a/kipi-plugins/sync/plugin_sync.cpp b/kipi-plugins/sync/plugin_sync.cpp
+index 1da831fd..2f550a93 100644
+--- a/kipi-plugins/sync/plugin_sync.cpp
++++ b/kipi-plugins/sync/plugin_sync.cpp
+@@ -59,7 +59,7 @@ void Plugin_Sync::setup(TQWidget* widget)
+ {
+   // Create a collection to store the various Sinks a user can
+   // define.
+-  mpSinks = new KIPISyncPlugin::Sinks();
++  mpSinks = new KIPISyncPlugin::Sinks(widget);
+ 
+   // Standard initialisation for Kipi Plugins
+   KIPI::Plugin::setup(widget);
+diff --git a/kipi-plugins/sync/sinks.cpp b/kipi-plugins/sync/sinks.cpp
+index 6ced0bc1..c4fd2f5b 100644
+--- a/kipi-plugins/sync/sinks.cpp
++++ b/kipi-plugins/sync/sinks.cpp
+@@ -51,13 +51,13 @@ void SinkTQListViewItem::Refresh()
+ 
+ 
+ 
+-Sinks::Sinks()
++Sinks::Sinks(TQWidget* parent)
+  : mpWallet(nullptr),
+    mMaxSinkId(0)
+ {
+   TDEWallet::Wallet* p_wallet = nullptr;
+   mpWallet = TDEWallet::Wallet::openWallet(TDEWallet::Wallet::NetworkWallet(),
+-                                         kapp->activeWindow()->winId(),
++                                         parent ? parent->winId() : 0,
+                                          TDEWallet::Wallet::Synchronous);
+   if (!mpWallet)
+   {
+diff --git a/kipi-plugins/sync/sinks.h b/kipi-plugins/sync/sinks.h
+index 179f24df..937514c4 100644
+--- a/kipi-plugins/sync/sinks.h
++++ b/kipi-plugins/sync/sinks.h
+@@ -58,7 +58,7 @@ class Sinks
+ {
+ 
+ public:
+-  Sinks();
++  explicit Sinks(TQWidget* parent);
+   ~Sinks();
+ 
+   Sink* Add(TQString type, TQString name);
-- 
cgit v1.2.3

