From 9a03528ee80cff727cb16e9a30f2bde3d90cc18d Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Sun, 17 Nov 2013 08:19:17 +0000 Subject: [PATCH] - bugfix for g3d viewer screenshot automation --- source/g3d_viewer/main.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/source/g3d_viewer/main.cpp b/source/g3d_viewer/main.cpp index 1b142d19..7ba59452 100644 --- a/source/g3d_viewer/main.cpp +++ b/source/g3d_viewer/main.cpp @@ -602,17 +602,20 @@ void MainWindow::onPaint(wxPaintEvent &event) { // notice that we use GetSize() here and not GetClientSize() because // the latter doesn't return correct results for the minimized windows // (at least not under Windows) - -#if defined(WIN32) int viewportW = GetClientSize().x; int viewportH = GetClientSize().y; -#else - int viewportW = GetSize().x; - int viewportH = GetSize().y; -#endif if(SystemFlags::VERBOSE_MODE_ENABLED) printf("%d x %d\n",viewportW,viewportH); + if(viewportW == 0 && viewportH == 0) { + printf("#1 %d x %d\n",viewportW,viewportH); + + viewportW = GetSize().x; + viewportH = GetSize().y; + + printf("#2 %d x %d\n",viewportW,viewportH); + } + #if defined(WIN32) renderer->reset(viewportW, viewportH, playerColor); #else @@ -659,6 +662,8 @@ void MainWindow::onPaint(wxPaintEvent &event) { glCanvas->SwapBuffers(); if(autoScreenShotAndExit == true && viewportW == 0 && viewportH == 0) { + printf("Auto exiting desired but waiting for w x h > 0...\n"); + return; } if((modelPathList.empty() == false) && resetAnimation && haveLoadedParticles) {