Opened 10 years ago

Last modified 8 years ago

#177 new defect

Infinite loop in OSG_1_COMPAT mode

Reported by: dirk Owned by: vossg
Priority: observe Milestone: 2.0 Beta
Component: System Version: 2.0
Keywords: Cc:

Description (last modified by vossg)

OSG_1_COMPAT can cause infinite loops in changed(), as it defines get<Field>() as edit<Field>(), which adds a change entry. So if any get methods are used inside a changed() method (which is not unusual, on the contrary), you have an infinite loop. :(

We need to find a way to make get the default for value fields, as edit is really hardly ever needed there.

Change History (2)

comment:1 Changed 10 years ago by marcusl

If you access the fc through a const ptr/ref, you'd get the const version of get() that doesn't call changed(), right? Would that be a solution?

comment:2 Changed 8 years ago by vossg

  • Description modified (diff)
  • Priority changed from blocker to observe
  • Version set to 2.0

should be fixed by pushing some of the compat stuff to 1.x, leave it as observe for now.

Note: See TracTickets for help on using tickets.