occ7.4 release . TDF_Label ForgetAttribute() cause father label attribute changed!

Root

-----------L1A

-----------L1B

                        ------------L2B1

                                                     ------------L3B11

                        ------------L2B2

                                                     ------------L3B21

                        ------------L2B3

                                                     ------------L3B31

this is my model.  L2B3   has  TDF_Reference  attribute to L2B2  ,and  L2B2  has  TDF_Reference  attribute to L2B1 .

if call the L3B31  .forgetattribute() , will cause L2B3 TDF_Reference   be changed.

call the child label forgetattribute ,will change his father label TDF_Reference   value.

thanks

Mikhail MPV's picture

I can not reproduce the problem using the following draw script:

NewDocument d
Label d 0:2:1
Label d 0:2:2
Label d 0:2:3
SetReference d 0:2:2 0:2:1
SetReference d 0:2:3 0:2:2
Label d 0:2:3:1
SetInteger d 0:2:3:1 5
ForgetAll d 0:2:3:1
GetReference d 0:2:2

-> 0:2:1
 GetReference d 0:2:3
-> 0:2:2

Can you provide a draw or C++ simple code to reproduce the issue?

Perhaps the reference is changed by other part of the software? Could you set a breakpoint to TDF_Reference::Set and send to us call-stack to understand who is calling the reference change?