[seahorse] libseahorse: Fix regression where progress window is not shown



commit 4b04f48376460a87e81b7702775b1dc3d2da47de
Author: Stef Walter <stefw redhat com>
Date:   Thu Jul 31 22:29:13 2014 +0200

    libseahorse: Fix regression where progress window is not shown
    
    We were unreferencing the progress window incorrectly before
    the task it was tracking was actually done.
    
    Fixes #108
    
    https://bugzilla.gnome.org/show_bug.cgi?id=734080

 libseahorse/seahorse-progress.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/libseahorse/seahorse-progress.c b/libseahorse/seahorse-progress.c
index 3a7fae05..bf9bdeab 100644
--- a/libseahorse/seahorse-progress.c
+++ b/libseahorse/seahorse-progress.c
@@ -43,6 +43,7 @@ typedef struct {
        GCancellable *cancellable;
        gulong cancelled_sig;
 
+       SeahorseWidget *swidget;
        GtkBuilder *builder;
        gchar *title;
        gchar *notice;
@@ -135,6 +136,8 @@ tracked_task_free (gpointer data)
        g_free (task->notice);
        if (task->builder)
                g_object_unref (task->builder);
+       if (task->swidget)
+               g_object_unref (task->swidget);
        g_free (task);
 }
 
@@ -562,7 +565,7 @@ on_timeout_show_progress (gpointer user_data)
        task->showing = FALSE;
        seahorse_progress_attach (task->cancellable, swidget->gtkbuilder);
        gtk_widget_show (GTK_WIDGET (window));
-       g_object_unref (swidget);
+       task->swidget = swidget;
 
        return FALSE; /* don't call again */
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]