diff --git a/src/xvaga/oswin32.cpp b/src/xvaga/oswin32.cpp index 168a37827..104f2e9d6 100755 --- a/src/xvaga/oswin32.cpp +++ b/src/xvaga/oswin32.cpp @@ -195,12 +195,27 @@ void* OsWin32_GetPrinterInfo(int& size, const char* printer) pdm = (LPDEVMODE)new BYTE[size]; // Alloca un DEVMODE sufficientemente capiente memset(pdm, 0, size); // Azzera tutto per bene ::DocumentProperties(0, hPrinter, name, pdm, NULL, DM_OUT_BUFFER); // Legge DEVMODE - size = AdjustDevmodePlease(pdm); + size = AdjustDevmodePlease(pdm); + if (size <= 0) + { + wxString msg = "DocumentProperties fallita fase 2 - stampante "; msg << name; + MessageBox(NULL, msg, "ERRORE", MB_ABORTRETRYIGNORE); + } } else + { + wxString msg = "DocumentProperties fallita fase 1 - stampante "; msg << name; + MessageBox(NULL, msg, "ERRORE", MB_ABORTRETRYIGNORE); size = 0; + } + ::ClosePrinter(hPrinter); } + else + { + wxString msg = "OpenPrinte fallita - stampante "; msg << name; + MessageBox(NULL, msg, "ERRORE", MB_ABORTRETRYIGNORE); + } return pdm; }