OE 15.07 bug

9 views
Skip to first unread message

andrea....@gmail.com

unread,
Jun 7, 2016, 10:52:06 AM6/7/16
to OpenEaagles
To all,
I suppose ti have found a bug in version 15.07 in the BasicGL::Display.h/.cpp.
The reason is that I did not manged to transfer my application from version 13.01 to subsequent versions.

My application makes an extensive use of independent multi-windowing system, with the mai window adopting a lot of FLTK controls, with the CADRG map of all Europe, with pan/zooming capability.
When I tried to run it on more recent version, nothing worked, It seemed that the openGL swapbuffer funtion was not called.
 I found that in the BasicGL::Display.h/.cpp the swapbuffers funtion is called as sapBuffers (with B upper case).
When I changed B with b, magically all went good: I suppose that calling the function swapBuffer prevents some overloading fron the openGL swapbuffers function. The same don not happen with the GlutDisplay class where the swapbuffer call is made conìrrectly.
The reason why Idid not use the GlutDisplay class is that I found some incompatibility between the glut function and the FLTK glut flavor, that I was not able ti solve.
 

Doug

unread,
Jun 7, 2016, 7:49:19 PM6/7/16
to OpenEaagles

Yes, 'swapbuffers' was renamed to 'swapBuffers' in v13.07.  This is probably one of the most convincing arguments to use 'override' keyword as much as possible in all code.  It would have highlighted the mismatch at compile time.

// in Display
virtual void swapBuffers();

// in GlutDisplay
virtual void swapBuffers() override;

Doug

andrea....@gmail.com

unread,
Jun 16, 2016, 3:09:10 AM6/16/16
to OpenEaagles
Fine Doug,
I missed the change....the result is that from that version my application did not swap buffer, remaining static but only if you use the Dislpay class, because in the glutDisplay class Openeaagles overrid sawpBuffer.
So two option now:
1) correct the Display class to ovverride swapBuffers() with a method calling swapbuffers() (but also renaiming swapBuffers() as sawpbuffers() (bad option I suppose)
2) Derive a Display class overriding swapBuffers() calling swapbuffers() (best option)

Thanks a lot Doug
Reply all
Reply to author
Forward
0 new messages