AIS_Selection Concurrent Access

Hi ,I didnt find any reference to this and had to act like an honnest hacker to realize this : accessing selection trough iteratives methods
is unsafe when using local contexts mostly because local context methods use the current AIS_Selection , and this current selection is initiliazed in InitSelected : this brings to previsible wrong results when you iterate another local context selection from a local context selection iteration step .
Hope this make sense , we have to handle this here .

sergebak's picture

Right on , our modifications to AIS_LocalContext do fit the expected behavior (AIS_InteractiveContext is involved too since we derive
both classes and instanciate derived local contexts from derived AIS_InteractiveContext class ) : Are such fix planned , already handled in current customer releases ?

sergebak's picture

Oh , thats more administrative than technical : Performing the above
showed the modifications made should be LGPL'ed since we access private methods and members from parent classes - I can understand
that this is an opencascade staff choice beyond pure c++ concepts - : we had to modify headers and make private members protected and had to copy a few private methods in a copy of the distrbution header (included prior to the distribution header) : meanwhile ,having these fields protected only would be more straight forward despite the
increased dynamic library loading time ...