From eda0e120e9e2e7b7be747f4ed035d686c9547769 Mon Sep 17 00:00:00 2001 From: Rafael Roquetto Date: Wed, 10 Oct 2012 15:43:50 -0300 Subject: Fix number of available printers in CUPS support. If the number of available printers changes, we want to update the count. Additionally, if that number has gone to zero, we want to ensure that the number of available printers in the static object is reset to zero. This fixes a crash that occurs if: * You print * You kill cupsd (or it crashes because you're porting it and your port is unstable) * You try to print again before restarting it. Change-Id: I6c6069db9d800ce7426e75df760829fea278e56e Reviewed-by: Sean Harmer Reviewed-by: Lars Knoll --- src/printsupport/kernel/qcups.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/printsupport') diff --git a/src/printsupport/kernel/qcups.cpp b/src/printsupport/kernel/qcups.cpp index dd385526d7..ea18f1edf6 100644 --- a/src/printsupport/kernel/qcups.cpp +++ b/src/printsupport/kernel/qcups.cpp @@ -135,7 +135,7 @@ QCUPSSupport::QCUPSSupport() if (!isAvailable()) return; - prnCount = _cupsGetDests(&printers); + qt_cups_num_printers = prnCount = _cupsGetDests(&printers); for (int i = 0; i < prnCount; ++i) { if (printers[i].is_default) { -- cgit v1.2.3 From bdcece7d46e1c9ca9717dfc10e699f8dfbd2286e Mon Sep 17 00:00:00 2001 From: Titta Heikkala Date: Thu, 6 Sep 2012 12:58:18 +0300 Subject: Revert a change to printer orientation Reverting change: Ia6bc9ae14d79a646e61bfc97652f9f5af90738b3 The previous change does not set the printer correctly. It looks based on the tests that the correct printer is set, but in reality the default printer is used (even though printerName() is returning the printer set). Updated taskQTBUG4497_reusePrinterOnDifferentFiles() test case so that it generates PDF instead of PS. Testing the binary output can't be guaranteed to work in this case. Change-Id: Iee111f2c2dec84f86344a38816c21e191f5373ea Reviewed-by: Andy Shaw --- src/printsupport/kernel/qprintengine_win.cpp | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'src/printsupport') diff --git a/src/printsupport/kernel/qprintengine_win.cpp b/src/printsupport/kernel/qprintengine_win.cpp index 759a76de09..27351dee48 100644 --- a/src/printsupport/kernel/qprintengine_win.cpp +++ b/src/printsupport/kernel/qprintengine_win.cpp @@ -1174,16 +1174,6 @@ void QWin32PrintEnginePrivate::doReinit() if (state == QPrinter::Active) { reinit = true; } else { - if (!name.isEmpty()) { - HANDLE hCheckPrinter; - if (!OpenPrinter((LPWSTR)name.utf16(), (LPHANDLE)&hCheckPrinter, 0)) { - initialize(); - return; - } else { - ClosePrinter(hCheckPrinter); - hCheckPrinter = 0; - } - } resetDC(); initDevRects(); reinit = false; @@ -1306,12 +1296,9 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant & case PPK_PrinterName: d->name = value.toString(); - if (d->name.isEmpty()) { + if (d->name.isEmpty()) d->queryDefault(); - d->initialize(); - } else { - d->doReinit(); - } + d->initialize(); break; case PPK_Resolution: -- cgit v1.2.3