src/gui/painting/qprintengine_mac.mm
changeset 30 5dc02b23752f
parent 18 2f34d5167611
--- a/src/gui/painting/qprintengine_mac.mm	Wed Jun 23 19:07:03 2010 +0300
+++ b/src/gui/painting/qprintengine_mac.mm	Tue Jul 06 15:10:48 2010 +0300
@@ -114,8 +114,11 @@
     Q_D(QMacPrintEngine);
     if (d->state == QPrinter::Aborted)
         return true;  // I was just here a function call ago :)
-    if(d->paintEngine->type() == QPaintEngine::CoreGraphics)
+    if(d->paintEngine->type() == QPaintEngine::CoreGraphics) {
+        // We dont need the paint engine to call restoreGraphicsState()
+        static_cast<QCoreGraphicsPaintEngine*>(d->paintEngine)->d_func()->stackCount = 0;
         static_cast<QCoreGraphicsPaintEngine*>(d->paintEngine)->d_func()->hd = 0;
+    }
     d->paintEngine->end();
     if (d->state != QPrinter::Idle)
 	d->releaseSession();
@@ -685,6 +688,7 @@
     case PPK_FullPage:
         d->fullPage = value.toBool();
         break;
+    case PPK_CopyCount: // fallthrough
     case PPK_NumberOfCopies:
         PMSetCopies(d->settings, value.toInt(), false);
         break;
@@ -787,6 +791,15 @@
     case PPK_NumberOfCopies:
         ret = 1;
         break;
+    case PPK_CopyCount: {
+        UInt32 copies = 1;
+        PMGetCopies(d->settings, &copies);
+        ret = (uint) copies;
+        break;
+    }
+    case PPK_SupportsMultipleCopies:
+        ret = true;
+        break;
     case PPK_Orientation:
         PMOrientation orientation;
         PMGetOrientation(d->format, &orientation);