diff --git a/Blocks3D.vcproj b/Blocks3D.vcproj index 806210b..f817c56 100644 --- a/Blocks3D.vcproj +++ b/Blocks3D.vcproj @@ -718,7 +718,7 @@ > + + diff --git a/Dialogs.rc b/Dialogs.rc index 2f4904e..882bd1c 100644 --- a/Dialogs.rc +++ b/Dialogs.rc @@ -40,4 +40,12 @@ FONT 8, "Ms Shell Dlg" // Icon resources // LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN -IDI_ICON1 ICON "FatB3dIcon.ico" \ No newline at end of file +IDI_ICON1 ICON "FatB3dIcon.ico" + + + +// +// Manifest resources +// +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +1 RT_MANIFEST ".\\Blocks3D.exe.manifest" diff --git a/Manifest.xml b/Manifest.xml deleted file mode 100644 index e69de29..0000000 diff --git a/src/source/Application.cpp b/src/source/Application.cpp index 19f0706..2a9de34 100644 --- a/src/source/Application.cpp +++ b/src/source/Application.cpp @@ -175,7 +175,7 @@ void Application::deleteInstance() } } if(g_selectedInstances.size() == 0) - g_usableApp->_propWindow->ClearProperties(); + g_usableApp->_propWindow->UpdateSelected(g_dataModel); } @@ -331,12 +331,25 @@ void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) { else _dataModel->getEngine()->createBody(partInstance); } + bool a = false; while(toDelete.size() > 0) { PartInstance * p = toDelete.back(); toDelete.pop_back(); + if(std::find(g_selectedInstances.begin(), g_selectedInstances.end(), p) != g_selectedInstances.end()) + { + g_selectedInstances.erase(std::remove(g_selectedInstances.begin(), g_selectedInstances.end(), p), g_selectedInstances.end()); + a = true; + } p->setParent(NULL); delete p; + } + if(a) + { + if(g_selectedInstances.size() == 0) + g_usableApp->_propWindow->UpdateSelected(g_dataModel); + else if(g_selectedInstances.size() == 1) + g_usableApp->_propWindow->UpdateSelected(g_selectedInstances[0]); } for(int i = 0; i < 6; i++) { diff --git a/src/source/DataModelV2/PartInstance.cpp b/src/source/DataModelV2/PartInstance.cpp index 20b619f..f9a8210 100644 --- a/src/source/DataModelV2/PartInstance.cpp +++ b/src/source/DataModelV2/PartInstance.cpp @@ -144,6 +144,7 @@ void PartInstance::setParent(Instance* prnt) PartInstance::PartInstance(const PartInstance &oinst) { PVInstance::PVInstance(oinst); + physBody = NULL; glList = glGenLists(1); //name = oinst.name; //className = "Part"; diff --git a/src/source/Globals.cpp b/src/source/Globals.cpp index fab75c8..ce771d7 100644 --- a/src/source/Globals.cpp +++ b/src/source/Globals.cpp @@ -1,10 +1,6 @@ #include "Globals.h" #include "Application.h" -int const Globals::gen = 0; -int const Globals::major = 0; -int const Globals::minor = 105; -int const Globals::patch = 0; int Globals::surfaceId = 2; //bool Globals::showMouse = true; bool Globals::useMousePoint = false; diff --git a/src/source/PropertyWindow.cpp b/src/source/PropertyWindow.cpp index 39e67a8..bf72075 100644 --- a/src/source/PropertyWindow.cpp +++ b/src/source/PropertyWindow.cpp @@ -342,7 +342,7 @@ void PropertyWindow::UpdateSelected(Instance * instance) { PropGrid_ResetContent(_propGrid); prop = instance->getProperties(); - if (selectedInstance != instance) + //if (selectedInstance != instance) { selectedInstance = instance; for(size_t i = 0; i < prop.size(); i++)