[osg-users] ShaderComposer::releaseGLObjects warning

Alberto Luaces aluaces at udc.es
Mon Apr 25 11:22:21 PDT 2016


Robert Osfield writes:

> On 18 April 2016 at 20:30, Robert Osfield <robert.osfield at gmail.com> wrote:
>
>> Hi Jannik and Ulrich,
>>
>> You are right it's a bug, the missing const is an error, rather than the
>> missing virtual.  I've fixed this and rewritten the implementation of
>> ShaderCompose::releaseGLObjects() const.
>>
>> I need to do a build and test before checking it in.
>>
>
> Now checked into OpenSceneGraph-3.4 and master.
>
> I am bit concerned that this fix breaks the ABI of 3.4 though...  Would
> changing const affect the ABI?  I'm thinking yes, but it's too late in the
> evening for me to go and search for an answer...

Indeed it does, for example on my system the signature of the method
changes from

_ZN3osg14ShaderComposer16releaseGLObjectsEPNS_5StateE

to

_ZNK3osg14ShaderComposer16releaseGLObjectsEPNS_5StateE

therefore old programs will not run with this change.  I suggest to
additionally keep also the old, non-const method, since they can
co-exist.  Old binaries will expose the bug, but at least they will
be able to execute.

-- 
Alberto




More information about the osg-users mailing list