diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index bc50a6c..55e588c 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ diff --git a/GeomDB.cpp b/GeomDB.cpp index 892bb76..6b42113 100644 --- a/GeomDB.cpp +++ b/GeomDB.cpp @@ -1678,10 +1678,12 @@ GeomDB::SelectGroupObjs( int nId, int nFilter, bool bOnlyIfVisible) // se richiesti solo gruppi if ( nFilter == GDB_TY_GROUP && ::GetGdbGroup( pGdbObj) == nullptr) continue ; - // altrimenti richiesti solo oggetti geometrici di una classe ( GEO_ZERODIM, GEO_CURVE, ...) - GdbGeo* pGObj = ::GetGdbGeo( pGdbObj) ; - if ( pGObj == nullptr || ( pGObj->GetGeoType() & nFilter) == 0) - continue ; + // altrimenti richiesti solo oggetti geometrici di una o più classi ( GEO_ZERODIM, GEO_CURVE, ...) + else { + GdbGeo* pGObj = ::GetGdbGeo( pGdbObj) ; + if ( pGObj == nullptr || ( pGObj->GetGeoType() & nFilter) == 0) + continue ; + } } // se richiesta verifica visibilità if ( bOnlyIfVisible) { @@ -1691,13 +1693,8 @@ GeomDB::SelectGroupObjs( int nId, int nFilter, bool bOnlyIfVisible) continue ; } // eseguo selezione - if ( ::GetGdbGroup( pGdbObj) != nullptr) { - return SelectGroupObjs( pGdbObj->m_nId, nFilter, bOnlyIfVisible) ; - } - else { - if ( ! SetStatus( pGdbObj, GDB_ST_SEL)) - return false ; - } + if ( ! SetStatus( pGdbObj, GDB_ST_SEL)) + return false ; } return true ; }