work around collide not returning false with a nul object

fix a crash caused by having boundingBoxCollision on, while projecting the mouse so that there is nothing between it and a globalbounds object
it would seem we're somehow ending up in a state of WorldEditor::collide returning true it hit somethging, but NULL as far as *what*
until we properly fix this, doublecheck to make sure the hitObject isn't NULL before we start trying to reference membervars/methods
This commit is contained in:
AzaezelX 2024-05-07 00:24:49 -05:00
parent 67b052a192
commit 84c08e6ed9

View file

@ -1999,7 +1999,7 @@ void WorldEditor::on3DMouseMove(const Gui3DMouseEvent & event)
if ( !mHitObject ) if ( !mHitObject )
{ {
SceneObject *hitObj = NULL; SceneObject *hitObj = NULL;
if ( collide(event, &hitObj) && !hitObj->isDeleted() && hitObj->isSelectionEnabled() && !objClassIgnored(hitObj) ) if ( collide(event, &hitObj) && hitObj && !hitObj->isDeleted() && hitObj->isSelectionEnabled() && !objClassIgnored(hitObj) )
{ {
mHitObject = hitObj; mHitObject = hitObj;
} }
@ -2060,7 +2060,7 @@ void WorldEditor::on3DMouseDown(const Gui3DMouseEvent & event)
} }
SceneObject *hitObj = NULL; SceneObject *hitObj = NULL;
if ( collide( event, &hitObj ) && hitObj->isSelectionEnabled() && !objClassIgnored( hitObj ) ) if ( collide( event, &hitObj ) && hitObj && hitObj->isSelectionEnabled() && !objClassIgnored( hitObj ) )
{ {
mPossibleHitObject = hitObj; mPossibleHitObject = hitObj;
mNoMouseDrag = true; mNoMouseDrag = true;