From 5a2909b1b92460921e682c63f6f02caacb1a778c Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Thu, 15 Oct 2026 00:43:42 -0300
Subject: Integrate GLib dispatch in PolicyKit agent
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The listener registers its D-Bus object on the caller's GLib main
context. Pump that context from the TQt event loop so authentication
requests reach the agent callback and can create the dialog.

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 src/CMakeLists.txt | 2 +-
 src/main.cpp       | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 748e9e7..ed2e6d0 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -38,6 +38,6 @@ tde_create_translated_desktop(
 tde_add_executable( polkit-agent-tde AUTOMOC
   SOURCES AuthDialogWidget.ui AuthDetailsWidget.ui AuthDialog.h AuthDialog.cpp
           polkit-listener.h polkit-listener.cpp polkit-agent-tde.h polkit-agent-tde.cpp main.cpp
-  LINK tdecore-shared tdeui-shared polkit-tqt-agent-shared
+  LINK tdecore-shared tdeui-shared kglib polkit-tqt-agent-shared
   DESTINATION ${BIN_INSTALL_DIR}
 )
diff --git a/src/main.cpp b/src/main.cpp
index 041413b..9ba083f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -21,11 +21,14 @@
 #include <tdeaboutdata.h>
 #include <tdecmdlineargs.h>
 #include <tdelocale.h>
+#include <TGlibEventLoop.h>
 
 #include "polkit-agent-tde.h"
 
 int main(int argc, char *argv[])
 {
+  TGlibEventLoop glibEventLoop;
+
   TDEAboutData aboutData("polkit-agent-tde", I18N_NOOP("Polkit-Agent-TDE"), "0.99.1",
           I18N_NOOP("A Polkit authentication agent for TDE"), TDEAboutData::License_GPL,
           I18N_NOOP("(c) 2009 Red Hat, Inc."));
-- 
cgit v1.2.3

