diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index 7fce8fb..e6b14c8 100644 Binary files a/EgtMachKernel.rc and b/EgtMachKernel.rc differ diff --git a/MachMgrDBTools.cpp b/MachMgrDBTools.cpp index 148c712..cfd11c8 100644 --- a/MachMgrDBTools.cpp +++ b/MachMgrDBTools.cpp @@ -263,14 +263,21 @@ MachMgr::TdbSave( void) const ToolsMgr* pTsMgr = GetCurrToolsMgr() ; if ( pTsMgr == nullptr) return nullptr ; - // se macchina caricata, ne scarico tutti gli utensili + // se non ci sono state modifiche, esco subito + if ( ! pTsMgr->GetModified()) + return true ; + // salvo il db utensili + if ( ! pTsMgr->Save()) + return false ; + // se macchina caricata, ne scarico e ricarico tutti gli utensili if ( IsCurrMachineLoaded()) { Machine* pMach = GetCurrMachine() ; - if ( pMach != nullptr) + if ( pMach != nullptr) { pMach->UnloadAllTools() ; + pMach->LoadAllTools() ; + } } - // salvo il db utensili - return pTsMgr->Save() ; + return true ; } //---------------------------------------------------------------------------- diff --git a/ToolsMgr.h b/ToolsMgr.h index 4b17f63..e6b911c 100644 --- a/ToolsMgr.h +++ b/ToolsMgr.h @@ -27,6 +27,8 @@ class ToolsMgr ToolsMgr( void) ; bool Load( const std::string& sToolsFile) ; bool Reload( void) ; + bool GetModified( void) + { return m_bModified ; } bool Save( bool bCompressed = true) const ; bool GetToolNewName( std::string& sName) const ; bool AddTool( const std::string& sName, int nType) ;