diff options
author | Renato Araujo Oliveira Filho <renato.araujo@kdab.com> | 2017-12-19 09:24:51 -0300 |
---|---|---|
committer | Renato Araujo Oliveira Filho <renato.araujo@kdab.com> | 2017-12-19 15:23:44 +0000 |
commit | 7fd5fe17c2b9fc9252596c0839de90363b8ad632 (patch) | |
tree | 39e9ecf4dc0acaa84ef9594859f4887450afba50 /src/plugins/printsupport | |
parent | 7951d1cdfaab6104535f25f5f47616ba71192344 (diff) |
Fix print to a printer instance
Make sure to use the printer original name as 'cupsPrintFile' function
argument
Testing:
- Create a instance of your print with lpoptions
- Try print a document using the new instance of the printer
- Check if the instance properties was respected
Change-Id: I884b641d1871fe04c7b119c82d4edb4aa41db2f5
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/plugins/printsupport')
-rw-r--r-- | src/plugins/printsupport/cups/qcupsprintengine.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/printsupport/cups/qcupsprintengine.cpp b/src/plugins/printsupport/cups/qcupsprintengine.cpp index 6a4eecb06d..287ab4b27a 100644 --- a/src/plugins/printsupport/cups/qcupsprintengine.cpp +++ b/src/plugins/printsupport/cups/qcupsprintengine.cpp @@ -239,9 +239,12 @@ void QCupsPrintEnginePrivate::closePrintDevice() cupsOptStruct.append(opt); } - // Print the file. + // Print the file + // Cups expect the printer original name without instance, the full name is used only to retrieve the configuration + const auto parts = printerName.splitRef(QLatin1Char('/')); + const auto printerOriginalName = parts.at(0); cups_option_t* optPtr = cupsOptStruct.size() ? &cupsOptStruct.first() : 0; - cupsPrintFile(printerName.toLocal8Bit().constData(), tempFile.toLocal8Bit().constData(), + cupsPrintFile(printerOriginalName.toLocal8Bit().constData(), tempFile.toLocal8Bit().constData(), title.toLocal8Bit().constData(), cupsOptStruct.size(), optPtr); QFile::remove(tempFile); |