View Issue Details

IDProjectCategoryView StatusLast Update
0025538CommunityOCCT:Visualizationpublic2015-03-14 06:53
ReporterVico Liang Assigned Tobugmaster  
PrioritynormalSeveritycrash 
Status closedResolutionduplicate 
Product Version6.8.0 
Target Version6.9.0 
Summary0025538: Crash when removing a selected interactive object.
Description     TKernel.dll!Standard_NoSuchObject::Throw() Line 10 C++
     TKernel.dll!Standard_Failure::Reraise() Line 153 C++
     TKernel.dll!Standard_Failure::Reraise(const char * const AString) Line 136 C++
     TKernel.dll!Standard_NoSuchObject::Raise(const char * const AString) Line 10 C++
     TKV3d.dll!AIS_DataMapOfSelStat::Find(const Handle_SelectMgr_SelectableObject & K) Line 205 C++
     TKV3d.dll!AIS_LocalContext::SelectionModes(const Handle_AIS_InteractiveObject & anObject) Line 897 C++
> TKV3d.dll!AIS_LocalContext::ClearOutdatedSelection(const Handle_AIS_InteractiveObject & theIO, const unsigned int toClearDeactivated) Line 929 C++
     TKV3d.dll!AIS_LocalContext::Remove(const Handle_AIS_InteractiveObject & aSelectable) Line 507 C++
     TKV3d.dll!AIS_InteractiveContext::Remove(const Handle_AIS_InteractiveObject & anIObj, const unsigned int updateviewer) Line 817 C++
Steps To ReproduceThe fix might be jsut move code "myActiveObjects.UnBind(aSelectable)" to the end of the function below:
Standard_Boolean AIS_LocalContext::Remove(const Handle(AIS_InteractiveObject)& aSelectable)
{
  ...
  if(IsSelected(aSelectable))
    AddOrRemoveSelected(aSelectable);
  myActiveObjects.UnBind(aSelectable);

  // Remove the interactive object from selection manager
  if (mySM->Contains (aSelectable))
  {
    mySM->Remove (aSelectable);
  }

  UpdateSort();

  ClearOutdatedSelection (aSelectable, Standard_True);

  return Standard_True;
}
TagsNo tags attached.
Test case number

Relationships

related to 0025492 closedbugmaster Community the selected subshape does not have topological relationship with orginal shape in OCC680 

Activities

Vico Liang

2014-11-29 16:05

developer   ~0034854

I see the following codes called twice in method "Standard_Boolean AIS_LocalContext::Remove(const Handle(AIS_InteractiveObject)& aSelectable)", does this necessary?

  if(IsSelected(aSelectable))
    AddOrRemoveSelected(aSelectable);

kgv

2014-11-29 16:06

developer   ~0034855

The issue should be fixed by patch in CR25528 for #0025528

Vico Liang

2014-11-29 16:57

developer   ~0034856

Yes, i updated to patch CR25528 and verified the feature, it's fixed.

san

2014-12-05 18:56

developer   ~0035087

This bug duplicates #25528 and is fixed by the patch in CR25528 branch (already verified by the reporter), can you please close this issue?

Issue History

Date Modified Username Field Change
2014-11-29 15:47 Vico Liang New Issue
2014-11-29 15:47 Vico Liang Assigned To => kgv
2014-11-29 15:48 Vico Liang Relationship added related to 0025492
2014-11-29 16:04 kgv Assigned To kgv => san
2014-11-29 16:04 kgv Resolution open => duplicate
2014-11-29 16:05 Vico Liang Note Added: 0034854
2014-11-29 16:06 kgv Note Added: 0034855
2014-11-29 16:57 Vico Liang Note Added: 0034856
2014-12-05 18:56 san Note Added: 0035087
2014-12-05 18:56 san Assigned To san => bugmaster
2014-12-05 18:56 san Status new => feedback
2014-12-10 10:22 bugmaster Status feedback => closed
2015-03-14 06:53 abv Target Version 7.0.0 => 6.9.0