Index: printing/backend/print_backend_cups.cc |
diff --git a/printing/backend/print_backend_cups.cc b/printing/backend/print_backend_cups.cc |
index 9b6976c0700c5df0b16a359332631368001ee9b0..8578a7c1dc571271a2b45e6ccccb085e08fe88a5 100644 |
--- a/printing/backend/print_backend_cups.cc |
+++ b/printing/backend/print_backend_cups.cc |
@@ -156,10 +156,11 @@ bool PrintBackendCUPS::EnumeratePrinters(PrinterList* printer_list) { |
} |
std::string PrintBackendCUPS::GetDefaultPrinterName() { |
- // TODO(thestig) Figure out why cupsGetDefault() lies about the default |
- // printer. :-( |
- // Return an empty string for now. |
- return std::string(); |
+ // Not using cupsGetDefault() because it lies about the default printer. |
+ cups_dest_t* dests; |
+ int num_dests = GetDests(&dests); |
+ cups_dest_t* dest = cupsGetDest(NULL, NULL, num_dests, dests); |
+ return dest ? std::string(dest->name) : std::string(); |
} |
bool PrintBackendCUPS::GetPrinterCapsAndDefaults( |