From: Richard Hughes Date: Thu, 26 Apr 2012 16:13:49 +0000 (+0100) Subject: Fix the colord support in GtkPrinterCups when the PPD is loaded async X-Git-Url: http://pileus.org/git/?p=~andy%2Fgtk;a=commitdiff_plain;h=bf71b88319c598354d861c5dbb653daa502aab6b Fix the colord support in GtkPrinterCups when the PPD is loaded async If the PPD is not available when the printer is loaded then the PPD options are not available and we can't get the correct qualifier to use with colord. When the PPD becomes available, refresh the profile title to reflect reality. https://bugzilla.gnome.org/show_bug.cgi?id=674890 --- diff --git a/modules/printbackends/cups/gtkprintercups.c b/modules/printbackends/cups/gtkprintercups.c index 3a45e2f6d..128b3b385 100644 --- a/modules/printbackends/cups/gtkprintercups.c +++ b/modules/printbackends/cups/gtkprintercups.c @@ -505,6 +505,15 @@ colord_client_connect_cb (GObject *source_object, g_object_unref (printer); } + +static void +colord_printer_details_aquired_cb (GtkPrinterCups *printer, + gboolean success, + gpointer user_data) +{ + /* refresh the device */ + colord_update_device (printer); +} #endif /** @@ -550,6 +559,11 @@ gtk_printer_cups_new (const char *name, colord_client_connect_cb, g_object_ref (printer)); } + + /* update the device when we read the PPD */ + g_signal_connect (printer, "details-acquired", + G_CALLBACK (colord_printer_details_aquired_cb), + printer); #endif return printer; }