Hi Allen,

Allen Bierbaum wrote:
> We just managed to track down a very painful little bug in some code we 
> had that used PassiveWindow in OpenSG2.  The problem manifested itself 
> as what looked like corrupted textures.  It took quite a while to track 
> down, but the problem ended up being that the OSGWindow::setupGL method 
> was not getting called.  This call sets up the OpenGL pixelStore state 
> to something that OpenSG expects:
> 
>     glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
>     glPixelStorei(GL_PACK_ALIGNMENT,   1);
> 
> 
> Because of this call, every application that uses a window in OpenSG 2.0 
> (passive, glut, or other) must remember to call the window init() method 
> which will in turn call setupGL.  If the developer forgets that call, 
> the application will appear to work but the OpenGL state machine will 
> not be setup correctly for OpenSG.
> 
> After we tracked this down I started wondering if there may be a way to 
> prevent this type of thing from happening in the future to other users.  
> The more I thought about it, the more I wondered why the user ever has 
> to call init().  Why can't OpenSG simply detect that it hasn't been 
> called when the window is activated (OSGWindow::activate()) and call 
> init() when needed.  This would remove the potential for this bug 
> entirely. 
> 
> Any thoughts?

That never seemed to be a problem, but I can see your point. Had to do it in 
frameInit() though, activate is overridden by descendents.

Fixed in r653.

        Dirk

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to