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:

committed by
Matthias Clasen

parent
d2d30dcea1
commit
cb18766ac5
@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user