]> git.mxchange.org Git - flightgear.git/commitdiff
Fix crash when display/screen number invalid
authorThorstenB <brehmt@gmail.com>
Sat, 4 Jun 2011 15:55:12 +0000 (17:55 +0200)
committerThorstenB <brehmt@gmail.com>
Sat, 4 Jun 2011 15:55:12 +0000 (17:55 +0200)
getScreenResolution shouldn't be called before the safety check.
Fixes commit ba7d8b8155731c95acf43f5e5a5a007cc6e96cdc

src/Main/WindowBuilder.cxx

index 2ca83cfc63c7ccb106c5bf51528f1da15aecbf30..ceb23b4612ebfcc00a04cdc5d45112b7800d6cdf 100644 (file)
@@ -53,12 +53,8 @@ WindowBuilder::makeDefaultTraits(bool stencil)
     GraphicsContext::WindowingSystemInterface* wsi
         = osg::GraphicsContext::getWindowingSystemInterface();
     GraphicsContext::Traits* traits = new osg::GraphicsContext::Traits;
-    traits->readDISPLAY();
-
-    unsigned screenwidth = 0;
-    unsigned screenheight = 0;
-    wsi->getScreenResolution(*traits, screenwidth, screenheight);
 
+    traits->readDISPLAY();
     if (traits->displayNum < 0)
         traits->displayNum = 0;
     if (traits->screenNum < 0)
@@ -76,6 +72,10 @@ WindowBuilder::makeDefaultTraits(bool stencil)
     if (stencil)
         traits->stencil = 8;
 
+    unsigned screenwidth = 0;
+    unsigned screenheight = 0;
+    wsi->getScreenResolution(*traits, screenwidth, screenheight);
+
     traits->doubleBuffer = true;
     traits->mipMapGeneration = true;
     traits->windowName = "FlightGear";