From fb372012991c3b6da359115f3e329f3166ebc5bc Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 12 Feb 2019 13:10:49 +0100 Subject: [PATCH] fix build failures with newer compiler versions --- src/Gui/Quarter/QuarterWidget.cpp | 10 ++++++++++ src/Gui/SoFCOffscreenRenderer.cpp | 6 ++++++ src/Gui/View3DInventorViewer.cpp | 6 ++++++ src/Mod/Image/Gui/CMakeLists.txt | 6 ++++++ src/Mod/Image/Gui/OpenGLImageBox.cpp | 4 ++++ 5 files changed, 32 insertions(+) diff --git a/src/Gui/Quarter/QuarterWidget.cpp b/src/Gui/Quarter/QuarterWidget.cpp index c3aac3f0af..7d3addb303 100644 --- a/src/Gui/Quarter/QuarterWidget.cpp +++ b/src/Gui/Quarter/QuarterWidget.cpp @@ -167,6 +167,9 @@ public: #endif setFormat(surfaceFormat); } + ~CustomGLWidget() + { + } void initializeGL() { QOpenGLContext *context = QOpenGLContext::currentContext(); @@ -187,6 +190,13 @@ public: } void aboutToDestroyGLContext() { +#if QT_VERSION >= 0x050900 + // With Qt 5.9 a signal is emitted while the QuarterWidget is being destroyed. + // At this state its type is a QWidget, not a QuarterWidget any more. + QuarterWidget* qw = qobject_cast(parent()); + if (!qw) + return; +#endif QMetaObject::invokeMethod(parent(), "aboutToDestroyGLContext", Qt::DirectConnection, QGenericReturnArgument()); diff --git a/src/Gui/SoFCOffscreenRenderer.cpp b/src/Gui/SoFCOffscreenRenderer.cpp index d4eb3bc1ea..0165befb47 100644 --- a/src/Gui/SoFCOffscreenRenderer.cpp +++ b/src/Gui/SoFCOffscreenRenderer.cpp @@ -33,6 +33,12 @@ # include #endif +#if !defined(FC_OS_MACOSX) +# include +# include +# include +#endif + //gcc # include # include diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp index 04caf32a29..ffea99068e 100644 --- a/src/Gui/View3DInventorViewer.cpp +++ b/src/Gui/View3DInventorViewer.cpp @@ -85,6 +85,12 @@ # include #endif +#if defined(FC_OS_MACOSX) +# include +# include +# include +#endif + #include #include diff --git a/src/Mod/Image/Gui/CMakeLists.txt b/src/Mod/Image/Gui/CMakeLists.txt index a43d8af560..5fd78952d9 100644 --- a/src/Mod/Image/Gui/CMakeLists.txt +++ b/src/Mod/Image/Gui/CMakeLists.txt @@ -14,6 +14,12 @@ include_directories( ${XercesC_INCLUDE_DIRS} ) +if(MSVC) + include_directories( + ${CMAKE_SOURCE_DIR}/src/3rdParty/OpenGL/api + ) +endif(MSVC) + set(ImageGui_LIBS Image FreeCADGui diff --git a/src/Mod/Image/Gui/OpenGLImageBox.cpp b/src/Mod/Image/Gui/OpenGLImageBox.cpp index 6552f5089c..7501eac9e6 100644 --- a/src/Mod/Image/Gui/OpenGLImageBox.cpp +++ b/src/Mod/Image/Gui/OpenGLImageBox.cpp @@ -39,9 +39,13 @@ # include # include # include +# if defined(_MSC_VER) && _MSC_VER >= 1910 +# include +# endif #else # include # include +# include #endif #include "OpenGLImageBox.h"