Project

General

Profile

Bug #10475

Print module initialization hangs on network printers

Added by Pedro Côrte-Real about 4 years ago. Updated almost 4 years ago.

Status:
Fixed
Priority:
Medium
Assignee:
Category:
Printing
Start date:
05/20/2015
Due date:
% Done:

100%

Affected Version:
git development version
System:
all
bitness:
64-bit
hardware architecture:
amd64/x86

Description

When there is a network printer currently unavailable the print module will hang waiting for an HTTP request to fulfill GetPPD. The relevant code is here:

https://github.com/darktable-org/darktable/blob/master/src/common/cups_print.c#L50

This probably needs to be ran in another thread or in some other way so as to not have the whole program waiting for that call. For example the GNOME printer dialog seems to enumerate the printers fine and only when the unavailable printer gets selected tries to get it's info. It seems to do that in a separate thread as it never blocks the GUI.

I stumbled on this when a network printer was automatically added to my list of printers. Apparently is some sort of network printer, probably ipp protocol, so cups just added it with no intervention from me.

History

#1 Updated by Pascal Obry almost 4 years ago

  • Priority changed from Low to Medium

I have proposed a patch to fix that. If you feel like testing it, do not hesitate!

See https://github.com/darktable-org/darktable/pull/939

branch: https://github.com/darktable-org/darktable/tree/async-printers

#2 Updated by Roman Lebedev almost 4 years ago

Should be fixed by now?

#3 Updated by Pedro Côrte-Real almost 4 years ago

Looks good to me.

#4 Updated by Pascal Obry almost 4 years ago

  • % Done changed from 0 to 100
  • Status changed from New to Fixed

Great! Closing.

Also available in: Atom PDF