Hold a refence on the print operation until gtk_print_job_send() is done.

2007-05-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c (unix_end_run): Hold a
        refence on the print operation until gtk_print_job_send()
        is done.  (#440040, Chris Vine)



svn path=/trunk/; revision=17915
This commit is contained in:
Matthias Clasen 2007-05-25 17:22:55 +00:00 committed by Matthias Clasen
parent d2d30dcea1
commit cb18766ac5
2 changed files with 16 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2007-05-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c (unix_end_run): Hold a
refence on the print operation until gtk_print_job_send()
is done. (#440040, Chris Vine)
2007-05-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_accessible_ref_child):

View File

@ -268,9 +268,8 @@ unix_finish_send (GtkPrintJob *job,
gpointer user_data,
GError *error)
{
GtkPrintOperationUnix *op_unix;
op_unix = (GtkPrintOperationUnix *) user_data;
GtkPrintOperation *op = (GtkPrintOperation *) user_data;
GtkPrintOperationUnix *op_unix = op->priv->platform_data;
if (error != NULL)
{
@ -293,6 +292,8 @@ unix_finish_send (GtkPrintJob *job,
if (op_unix->loop)
g_main_loop_quit (op_unix->loop);
g_object_unref (op);
}
static void
@ -312,9 +313,12 @@ unix_end_run (GtkPrintOperation *op,
/* TODO: Check for error */
if (op_unix->job != NULL)
gtk_print_job_send (op_unix->job,
unix_finish_send,
op_unix, NULL);
{
g_object_ref (op);
gtk_print_job_send (op_unix->job,
unix_finish_send,
op, NULL);
}
if (wait)
{