X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHEXABLOCKGUI%2FHEXABLOCKGUI_SalomeTools.cxx;h=1dae5ca782ea2dfdedc600aabb0c3e7088aaa9be;hb=12cceffda96f1daef01df1fb7024cf164bf31067;hp=542cf3e751e8e874ebdad7019664559b509bffe5;hpb=f98eb43c64925b8b693ed812cc22a8df4ba55990;p=modules%2Fhexablock.git diff --git a/src/HEXABLOCKGUI/HEXABLOCKGUI_SalomeTools.cxx b/src/HEXABLOCKGUI/HEXABLOCKGUI_SalomeTools.cxx index 542cf3e..1dae5ca 100644 --- a/src/HEXABLOCKGUI/HEXABLOCKGUI_SalomeTools.cxx +++ b/src/HEXABLOCKGUI/HEXABLOCKGUI_SalomeTools.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2009-2013 CEA/DEN, EDF R&D +// Copyright (C) 2009-2016 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -28,11 +28,8 @@ #include #include - - #include -#include #include #include @@ -89,13 +86,12 @@ namespace GUI } - _PTR(Study) GetActiveStudyDocument() + _PTR(Study) getStudy() { - SalomeApp_Study* aStudy = dynamic_cast(GetActiveStudy()); - if (aStudy) - return aStudy->studyDS(); - else - return _PTR(Study)(); + static _PTR(Study) _study; + if(!_study) + _study = SalomeApp_Application::getStudy(); + return _study; } @@ -175,7 +171,10 @@ namespace GUI Handle(SelectMgr_Selection) sel = theObj->Selection( m ); for ( sel->Init(); sel->More(); sel->Next() ) { - Handle(SelectBasics_SensitiveEntity) entity = sel->Sensitive(); + const Handle(SelectMgr_SensitiveEntity) aHSenEntity = sel->Sensitive(); + if ( aHSenEntity.IsNull() ) + continue; + Handle(SelectBasics_SensitiveEntity) entity = aHSenEntity->BaseSensitive(); if ( entity.IsNull() ) continue;