From 74efb0dada8f5d7f21b4c5a9630b6f4f56bb132a Mon Sep 17 00:00:00 2001 From: Alexandre Quessy Date: Fri, 4 Apr 2014 00:29:41 -0400 Subject: [PATCH] fix crash on Mac OS X --- DestinationGLCanvas.cpp | 6 +++++- MainWindow.cpp | 3 ++- main.cpp | 1 - 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/DestinationGLCanvas.cpp b/DestinationGLCanvas.cpp index a63750c..ee771a5 100644 --- a/DestinationGLCanvas.cpp +++ b/DestinationGLCanvas.cpp @@ -61,8 +61,12 @@ void DestinationGLCanvas::doDraw(QPainter* painter) // } // } - glPushMatrix(); + MainWindow &mainwindow = MainWindow::getInstance(); + if ((&mainwindow) == NULL) + return; + + glPushMatrix(); MappingManager& mappingManager = MainWindow::getInstance().getMappingManager(); QVector mappings = mappingManager.getVisibleMappings(); for (QVector::const_iterator it = mappings.begin(); it != mappings.end(); ++it) diff --git a/MainWindow.cpp b/MainWindow.cpp index 98b6a39..7694ac9 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -28,6 +28,7 @@ MainWindow* MainWindow::instance = 0; MainWindow::MainWindow() { + MainWindow::setInstance(this); // Create model. mappingManager = new MappingManager; @@ -60,7 +61,7 @@ MainWindow::MainWindow() MainWindow& MainWindow::getInstance() { - Q_ASSERT(instance); + //Q_ASSERT(instance); return *instance; } diff --git a/main.cpp b/main.cpp index 55983ad..28e7acc 100644 --- a/main.cpp +++ b/main.cpp @@ -23,7 +23,6 @@ int main(int argc, char *argv[]) app.installTranslator(&translator); MainWindow win; - MainWindow::setInstance(&win); //win.setLocale(QLocale("fr"));