summaryrefslogtreecommitdiffstats
path: root/src/plugins/printsupport/cups/qppdprintdevice.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-12-04 09:58:43 +0100
committerLiang Qi <liang.qi@qt.io>2018-12-04 09:58:43 +0100
commit5d5c00c67682bce105197b659687fd1fee8f60cf (patch)
tree686e41dc3ea121235fb73afb9157ed603f1bfeff /src/plugins/printsupport/cups/qppdprintdevice.cpp
parentf213e818f03d35cb82e3daf187415197fd156f8e (diff)
parentb82559244e2dc03f1ceff66bb67630df4300dc7c (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Conflicts: src/gui/painting/qdrawhelper.cpp Change-Id: I4916e07b635e1d3830e9b46ef7914f99bec3098e
Diffstat (limited to 'src/plugins/printsupport/cups/qppdprintdevice.cpp')
-rw-r--r--src/plugins/printsupport/cups/qppdprintdevice.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/printsupport/cups/qppdprintdevice.cpp b/src/plugins/printsupport/cups/qppdprintdevice.cpp
index 51b93a0016..ea6336c4d1 100644
--- a/src/plugins/printsupport/cups/qppdprintdevice.cpp
+++ b/src/plugins/printsupport/cups/qppdprintdevice.cpp
@@ -39,6 +39,8 @@
#include "qppdprintdevice.h"
+#include "qcupsprintersupport_p.h"
+
#include <QtCore/QMimeDatabase>
#include <qdebug.h>
@@ -118,7 +120,12 @@ bool QPpdPrintDevice::isValid() const
bool QPpdPrintDevice::isDefault() const
{
- return printerTypeFlags() & CUPS_PRINTER_DEFAULT;
+ // There seems to be a bug in cups in which printerTypeFlags
+ // returns CUPS_PRINTER_DEFAULT based only on system values, ignoring user lpoptions
+ // so we can't use that. And also there seems to be a bug in which dests returned
+ // by cupsGetNamedDest don't have is_default set at all so we can't use that either
+ // so go the long route and compare our id against the defaultPrintDeviceId
+ return id() == QCupsPrinterSupport::staticDefaultPrintDeviceId();
}
QPrint::DeviceState QPpdPrintDevice::state() const