summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorMarek Kasik <mkasik@redhat.com>2015-02-27 16:48:40 +0100
committerMarek Kasik <mkasik@redhat.com>2015-03-02 10:51:07 +0100
commitc2aff4ab6edbc97ed535b1f0acb95e86c623447e (patch)
treebd71b7972372575138ea4c1312b01747a5c9ff5f /modules
parentbc77408e3c33b2395b367a46fbca6d3d8c714947 (diff)
downloadgtk+-c2aff4ab6edbc97ed535b1f0acb95e86c623447e.tar.gz
printing: Set printer state correctly
Consider NULL printer state message as empty too. Printer state IPP_PRINTER_STOPPED can be considered as paused state. https://bugzilla.gnome.org/show_bug.cgi?id=743323
Diffstat (limited to 'modules')
-rw-r--r--modules/printbackends/cups/gtkprintbackendcups.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c
index 00df2e4190..7cd38416c7 100644
--- a/modules/printbackends/cups/gtkprintbackendcups.c
+++ b/modules/printbackends/cups/gtkprintbackendcups.c
@@ -2482,7 +2482,7 @@ set_info_state_message (PrinterSetupInfo *info)
{
gint i;
- if (info->state_msg && strlen (info->state_msg) == 0)
+ if (info->state_msg == NULL || strlen (info->state_msg) == 0)
{
gchar *tmp_msg2 = NULL;
if (info->is_paused && !info->is_accepting_jobs)
@@ -2751,7 +2751,10 @@ create_cups_printer_from_avahi_data (AvahiConnectionTestData *data)
info->printer_uri = data->printer_uri;
if (data->got_printer_state)
- info->state = data->printer_state;
+ {
+ info->state = data->printer_state;
+ info->is_paused = info->state == IPP_PRINTER_STOPPED;
+ }
info->got_printer_type = data->got_printer_type;
if (data->got_printer_type)