Julian Taylor a écrit , Le 17/06/2012 17:11:
> how does that patch fix the issue?

Hi,

The issue reported by g++ "taking address of temporary array" *is*
fixed. In this context (AIUI), "temporary" means that there is no
certainty that the address is still valid at the time
callback_list_call_attr_1() is called.

> it still takes an address of a temporary, just in a way that the
> compiler can't detect it anymore.

It's another kind of uncertainty you'll find waaaay more time in the
navit source code. The question is then : will the array address be
still in use after the exit from RenderArea::keyPressEvent() method?

> a correct fix is to copy the value into the original buffer (which
> then must be non-const) and not to swap the (incompatible) pointers.
> or allocate a global memory buffer, copy the data in and pass that
> into the callback but that might complicate freeing the memory again.

A correct fix implies knowing precisely how the triggered callbacks are
supposed to use the address. I don't, and will appreciate any findings
you could share.

Anyway, #676006 is closed and new bugs should have their own bugreports.

Thanks,

_g.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to