--- a/pidgin/pidginabout.c Mon Mar 21 20:25:43 2022 -0500
+++ b/pidgin/pidginabout.c Mon Mar 21 20:31:15 2022 -0500
@@ -67,11 +67,6 @@
/******************************************************************************
- *****************************************************************************/
-static GtkWidget *about_dialog = NULL;
-/******************************************************************************
*****************************************************************************/
@@ -580,19 +575,9 @@
*****************************************************************************/
pidgin_about_dialog_new(void) {
- if(GTK_IS_WIDGET(about_dialog)) {
- about_dialog = g_object_new(
PIDGIN_TYPE_ABOUT_DIALOG,
- g_object_add_weak_pointer(G_OBJECT(about_dialog),
- (gpointer)&about_dialog);
--- a/pidgin/pidginabout.h Mon Mar 21 20:25:43 2022 -0500
+++ b/pidgin/pidginabout.h Mon Mar 21 20:31:15 2022 -0500
@@ -35,6 +35,15 @@
G_DECLARE_FINAL_TYPE(PidginAboutDialog, pidgin_about_dialog, PIDGIN,
+ * pidgin_about_dialog_new: + * Creates a new about window. + * Returns: (transfer full): A new instance of the about dialog. GtkWidget *pidgin_about_dialog_new(void);
--- a/pidgin/pidginapplication.c Mon Mar 21 20:25:43 2022 -0500
+++ b/pidgin/pidginapplication.c Mon Mar 21 20:31:15 2022 -0500
@@ -217,12 +217,12 @@
pidgin_application_about(GSimpleAction *simple, GVariant *parameter,
- GtkWidget *about = pidgin_about_dialog_new();
+ static GtkWidget *about = NULL;
- gtk_window_set_transient_for(GTK_WINDOW(about), GTK_WINDOW(window));
+ if(!GTK_IS_WIDGET(about)) { + about = pidgin_about_dialog_new(); + g_object_add_weak_pointer(G_OBJECT(about), (gpointer)&about); gtk_widget_show_all(about);