Greetings,

 

Hopefully someone else has already experienced this and has a fix:

 

We have a command-line viewer program that runs perfectly fine on XP but
crashes almost immediately in main() on a Vista build.

 

Here is the offending code:

 

int main( int argc, char **argv )

{

   osg::setNotifyLevel( osg::WARN );

 

   osg::ArgumentParser arguments( &argc, argv );

 

   arguments->setApplicationName( arguments.getApplicationName() );

   arguments->getApplicationUsage()->setDescription(
arguments.getApplication() + " is the standard..." );    // This is the
line that causes the exception.

 }

 

 

This program is using OSG version 1.2.  All of the OSG examples run
fine.

 

In the autos window of Visual Studio 2005 (has already been updated with
Vista-related Service Packs) the local variable <arguments> contains
good data.  If

I declare an instance of osg::ApplicationUsage * and set it equal to
arguments.getApplicationUsage() instead of using it "inline" it also
points to valid

data, except that its _description member variable is equal to the empty
string because this is where the program crashes.

 

Also, when the crash occurs, the call stack is in ntdll.dll but there is
a message that reads [Frames below may be incorrect and/or missing, no
symbols

loaded for ntdll.dll].

 

None of this may be relevant, but when you don't know what you are
missing every clue might help.  The answer may be as simple as a
preprocessor directive

but I have searched to no avail.

 

Thanks.

-Matt

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to