From 44dddab6feae70c3a4f1aa41a8a6483978ad657e Mon Sep 17 00:00:00 2001
From: Slávek Banko <slavek.banko@axis.cz>
Date: Thu, 5 Nov 2026 15:21:32 +0100
Subject: ArchLinux 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>
---
 arch/tde-libs/tde-kipi-plugins/PKGBUILD            | 14 ++-
 .../bp000-fix-tdewallet-initialization.diff        | 99 ++++++++++++++++++++++
 2 files changed, 110 insertions(+), 3 deletions(-)
 create mode 100644 arch/tde-libs/tde-kipi-plugins/bp000-fix-tdewallet-initialization.diff

diff --git a/arch/tde-libs/tde-kipi-plugins/PKGBUILD b/arch/tde-libs/tde-kipi-plugins/PKGBUILD
index af268ca37..6667080e2 100644
--- a/arch/tde-libs/tde-kipi-plugins/PKGBUILD
+++ b/arch/tde-libs/tde-kipi-plugins/PKGBUILD
@@ -7,7 +7,7 @@ _kdemod="${_mod/tde/kde}"
 
 pkgname="tde-${_mod/tde-}"
 pkgver=14.1.7
-pkgrel=1
+pkgrel=2
 pkgdesc="The library for apps that want to use TDE kipi-plugins"
 arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'powerpc64le')
 url="https://scm.trinitydesktop.org/scm/git/${_mod}"
@@ -32,12 +32,20 @@ replaces=("trinity-${_mod}")
 options=('staticlibs' 'libtool' '!strip')
 install=
 
-source=("https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/${_cat}${_mod}-trinity-${pkgver}.tar.xz")
-md5sums=('fc00eb512b2741eca4b0673ac6e2a40c')
+source=("https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/${_cat}${_mod}-trinity-${pkgver}.tar.xz"
+  "bp000-fix-tdewallet-initialization.diff")
+md5sums=('fc00eb512b2741eca4b0673ac6e2a40c'
+  '73fb6244fc82049c95a179abb3ae095e')
 
 [ -n "$TDEDIR" ] || TDEDIR=/opt/trinity
 [ -n "$TQTDIR" ] || TQTDIR=${TDEDIR}/tqt3
 
+prepare() {
+  msg "Apply backported patches"
+  cd ${srcdir}/${pkgname#*-}-trinity-${pkgver} || exit 1
+  patch -p1 < ${srcdir}/bp000-fix-tdewallet-initialization.diff
+}
+
 build() {
    msg "Creating out-of-source build directory: ${srcdir}/build"
    mkdir -p ${srcdir}/build
diff --git a/arch/tde-libs/tde-kipi-plugins/bp000-fix-tdewallet-initialization.diff b/arch/tde-libs/tde-kipi-plugins/bp000-fix-tdewallet-initialization.diff
new file mode 100644
index 000000000..c901c887c
--- /dev/null
+++ b/arch/tde-libs/tde-kipi-plugins/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

