--- a/finch/gntdebug.c Mon Oct 18 22:41:34 2021 -0500
+++ b/finch/gntdebug.c Tue Oct 19 00:30:58 2021 -0500
@@ -44,7 +44,6 @@
/* Other members, including private data. */
-static void finch_debug_ui_finalize(GObject *gobject);
static void finch_debug_ui_interface_init(PurpleDebugUiInterface *iface);
G_DEFINE_TYPE_WITH_CODE(FinchDebugUi, finch_debug_ui, G_TYPE_OBJECT,
@@ -400,19 +399,32 @@
finch_debug_ui_class_init(FinchDebugUiClass *klass)
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
- object_class->finalize = finch_debug_ui_finalize;
finch_debug_ui_init(FinchDebugUi *self)
+finch_debug_ui_new(void) + return g_object_new(FINCH_TYPE_DEBUG_UI, NULL); +finch_debug_init_handler(void) g_log_set_writer_func(finch_debug_g_log_handler, NULL, NULL);
g_set_print_handler(print_stderr); /* Redirect the debug messages to stderr */
- if (!purple_debug_is_enabled())
+ if (!purple_debug_is_enabled()) { handle_fprintf_stderr(FALSE);
purple_prefs_add_none(PREF_ROOT);
purple_prefs_add_string(PREF_ROOT "/filter", "");
@@ -420,19 +432,13 @@
purple_prefs_add_int(PREF_ROOT "/size/width", 60);
purple_prefs_add_int(PREF_ROOT "/size/height", 15);
- if (purple_debug_is_enabled())
+ if (purple_debug_is_enabled()) { g_timeout_add(0, start_with_debugwin, NULL);
-finch_debug_ui_finalize(GObject *gobject)
+finch_debug_uninit(void) handle_fprintf_stderr(TRUE);
- G_OBJECT_CLASS(finch_debug_ui_parent_class)->finalize(gobject);
-finch_debug_ui_new(void)
- return g_object_new(FINCH_TYPE_DEBUG_UI, NULL);
--- a/finch/gntdebug.h Mon Oct 18 22:41:34 2021 -0500
+++ b/finch/gntdebug.h Tue Oct 19 00:30:58 2021 -0500
@@ -53,6 +53,34 @@
FinchDebugUi *finch_debug_ui_new(void);
+ * finch_debug_init_handler: + * Initialize handler for GLib logging system. + * This must be called early if you want to capture logs at startup, and avoid +void finch_debug_init_handler(void); + * Perform necessary initializations. +void finch_debug_init(void); + * Perform necessary uninitialization. +void finch_debug_uninit(void); * finch_debug_window_show:
--- a/finch/gntui.c Mon Oct 18 22:41:34 2021 -0500
+++ b/finch/gntui.c Tue Oct 19 00:30:58 2021 -0500
@@ -77,6 +77,8 @@
#ifdef _WIN32 /* TODO: don't change it when using FHS under win32 */
gnt_set_config_dir(purple_user_dir());
@@ -172,6 +174,8 @@
gnt_set_config_dir(NULL);
--- a/finch/libfinch.c Mon Oct 18 22:41:34 2021 -0500
+++ b/finch/libfinch.c Tue Oct 19 00:30:58 2021 -0500
@@ -159,6 +159,7 @@
/* We don't want debug-messages to show up and corrupt the display */
+ finch_debug_init_handler(); purple_debug_set_enabled(debug_enabled);
purple_core_set_ui_ops(gnt_core_get_ui_ops());