Segfault unfaulted

This commit is contained in:
Riku Avelar 2016-11-25 18:17:32 -05:00
parent 1a8976cafd
commit 78935a18ae

View File

@ -222,7 +222,7 @@ void Viewer::mousePressEvent(QMouseEvent* e) {
if(!selectedGeom.position.isIdentity() && e->modifiers().testFlag(Qt::ControlModifier))
{
std::cout << "Selecting cube" << endl;
if(selectedObj.shape->getParent() != nullptr) {
if(selectedObj.shape != nullptr && selectedObj.shape->getParent() != nullptr) {
// Remove previous selection
selectedObj.shape->getParent()->getChildren()->erase(
std::remove(selectedObj.shape->getParent()->getChildren()->begin(),
@ -278,7 +278,7 @@ void Viewer::init()
{
// Default non existant cube
selectedObj.shape = new Cube();
selectedObj.shape = nullptr;
QColor* c1 = new QColor(255, 0, 255, 255);
QColor* c2 = new QColor(0, 255, 255, 255);
@ -315,7 +315,7 @@ void Viewer::init()
Shape* cube = new Cube();
SceneGroup *sc = new SceneGroup();
cube->setColor(*c1);
cube->setType(TEX_GRASS);
cube->setType(TEX_WOODFLOOR);
sc->addChild(cube);
sc->transform.translate(-5+i, 0, -5+j);
root.addChild(sc);
@ -817,7 +817,7 @@ void Viewer::setMinLinear(bool on) {
void Viewer::deleteSelected() {
// Remove Shape from its parent
if(selectedObj.shape == nullptr) return;
selectedObj.shape->getParent()->getChildren()->erase(
std::remove(selectedObj.shape->getParent()->getChildren()->begin(),
selectedObj.shape->getParent()->getChildren()->end(),
@ -830,7 +830,7 @@ void Viewer::deleteSelected() {
selectedObj.shape),
selectedObj.shape->getParent()->getChildren()->end());
selectedObj.shape = new Cube(); // Rebind to "null"
selectedObj.shape = nullptr; // Rebind to "null"
cubeSelected(false);
}