src/gui/painting/qprintengine_win.cpp
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
--- a/src/gui/painting/qprintengine_win.cpp	Mon Jun 21 22:38:13 2010 +0100
+++ b/src/gui/painting/qprintengine_win.cpp	Thu Jul 22 16:41:55 2010 +0100
@@ -368,7 +368,8 @@
     }
 
     // We only want to convert the glyphs to text if the entire string is compatible with ASCII
-    bool convertToText = true;
+    // and if we actually have access to the chars.
+    bool convertToText = ti.chars != 0;
     for (int i=0;  i < ti.num_chars; ++i) {
         if (ti.chars[i].unicode() >= 0x80) {
             convertToText = false;
@@ -964,12 +965,13 @@
         return;
 
     QStringList info = output.split(QLatin1Char(','));
-    if (info.size() > 0) {
+    int infoSize = info.size();
+    if (infoSize > 0) {
         if (name.isEmpty())
             name = info.at(0);
-        if (program.isEmpty())
+        if (program.isEmpty() && infoSize > 1)
             program = info.at(1);
-        if (port.isEmpty())
+        if (port.isEmpty() && infoSize > 2)
             port = info.at(2);
     }
 }
@@ -1240,6 +1242,7 @@
         d->updateOrigin();
         break;
 
+    case PPK_CopyCount: // fallthrough
     case PPK_NumberOfCopies:
         if (!d->devMode)
             break;
@@ -1406,6 +1409,14 @@
         value = d->fullPage;
         break;
 
+    case PPK_CopyCount:
+        value = d->num_copies;
+        break;
+
+    case PPK_SupportsMultipleCopies:
+        value = true;
+        break;
+
     case PPK_NumberOfCopies:
         value = 1;
         break;