From 89498ae7ae541a982f4e8af7d33ad8a2bf4adf77 Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Wed, 4 Nov 2026 10:34:04 -0300
Subject: 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: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 kipi-plugins/galleryexport/galleries.cpp | 7 ++++---
 kipi-plugins/galleryexport/galleries.h   | 2 +-
 kipi-plugins/sync/plugin_sync.cpp        | 2 +-
 kipi-plugins/sync/sinks.cpp              | 4 ++--
 kipi-plugins/sync/sinks.h                | 2 +-
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/kipi-plugins/galleryexport/galleries.cpp b/kipi-plugins/galleryexport/galleries.cpp
index e4de6bd2..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(),
-                                         tdeApp->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 b91780dc..8390f368 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 3d6fbf11..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(),
-                                         tdeApp->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

