diff --git a/src/Gui/View3DInventor.cpp b/src/Gui/View3DInventor.cpp index cf59a9e60..5b7ca50f5 100644 --- a/src/Gui/View3DInventor.cpp +++ b/src/Gui/View3DInventor.cpp @@ -36,6 +36,7 @@ # include # include # include +# include # include # include # include @@ -531,6 +532,13 @@ void View3DInventor::print(QPrinter* printer) #else QImage img; QPainter p(printer); + if (!p.isActive() && !printer->outputFileName().isEmpty()) { + qApp->setOverrideCursor(Qt::ArrowCursor); + QMessageBox::critical(this, tr("Opening file failed"), + tr("Can't open file '%1' for writing.").arg(printer->outputFileName())); + qApp->restoreOverrideCursor(); + return; + } QRect rect = printer->pageRect(); bool pbuffer = QGLPixelBuffer::hasOpenGLPbuffers(); diff --git a/src/Mod/Drawing/Gui/DrawingView.cpp b/src/Mod/Drawing/Gui/DrawingView.cpp index 64d83fd8d..3cbf54648 100644 --- a/src/Mod/Drawing/Gui/DrawingView.cpp +++ b/src/Mod/Drawing/Gui/DrawingView.cpp @@ -593,6 +593,13 @@ void DrawingView::print(QPrinter* printer) } QPainter p(printer); + if (!p.isActive() && !printer->outputFileName().isEmpty()) { + qApp->setOverrideCursor(Qt::ArrowCursor); + QMessageBox::critical(this, tr("Opening file failed"), + tr("Can't open file '%1' for writing.").arg(printer->outputFileName())); + qApp->restoreOverrideCursor(); + return; + } QRect rect = printer->paperRect(); #ifdef Q_OS_WIN32 // On Windows the preview looks broken when using paperRect as render area.