Fixed selection crashing when brick is removed due to physics
This commit is contained in:
@@ -41,3 +41,11 @@ FONT 8, "Ms Shell Dlg"
|
|||||||
//
|
//
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
|
||||||
IDI_ICON1 ICON "FatB3dIcon.ico"
|
IDI_ICON1 ICON "FatB3dIcon.ico"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Manifest resources
|
||||||
|
//
|
||||||
|
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
|
2 RT_MANIFEST ".\\manifest.xml"
|
||||||
|
|||||||
17
Manifest.xml
17
Manifest.xml
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<dependency>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
|
||||||
|
</dependentAssembly>
|
||||||
|
</dependency>
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel
|
||||||
|
level="asInvoker"
|
||||||
|
uiAccess="false"/>
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
||||||
@@ -175,7 +175,7 @@ void Application::deleteInstance()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(g_selectedInstances.size() == 0)
|
if(g_selectedInstances.size() == 0)
|
||||||
g_usableApp->_propWindow->ClearProperties();
|
g_usableApp->_propWindow->UpdateSelected(g_dataModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -331,13 +331,26 @@ void Application::onSimulation(RealTime rdt, SimTime sdt, SimTime idt) {
|
|||||||
else
|
else
|
||||||
_dataModel->getEngine()->createBody(partInstance);
|
_dataModel->getEngine()->createBody(partInstance);
|
||||||
}
|
}
|
||||||
|
bool a = false;
|
||||||
while(toDelete.size() > 0)
|
while(toDelete.size() > 0)
|
||||||
{
|
{
|
||||||
PartInstance * p = toDelete.back();
|
PartInstance * p = toDelete.back();
|
||||||
toDelete.pop_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);
|
p->setParent(NULL);
|
||||||
delete p;
|
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++)
|
for(int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
_dataModel->getEngine()->step(sdt*2);
|
_dataModel->getEngine()->step(sdt*2);
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
#include "Application.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;
|
int Globals::surfaceId = 2;
|
||||||
//bool Globals::showMouse = true;
|
//bool Globals::showMouse = true;
|
||||||
bool Globals::useMousePoint = false;
|
bool Globals::useMousePoint = false;
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ void PropertyWindow::UpdateSelected(Instance * instance)
|
|||||||
{
|
{
|
||||||
PropGrid_ResetContent(_propGrid);
|
PropGrid_ResetContent(_propGrid);
|
||||||
prop = instance->getProperties();
|
prop = instance->getProperties();
|
||||||
if (selectedInstance != instance)
|
//if (selectedInstance != instance)
|
||||||
{
|
{
|
||||||
selectedInstance = instance;
|
selectedInstance = instance;
|
||||||
for(size_t i = 0; i < prop.size(); i++)
|
for(size_t i = 0; i < prop.size(); i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user