mirror of
https://github.com/ConjureETS/LOG750-LAB2.git
synced 2026-03-24 03:21:19 +00:00
Segfault unfaulted
This commit is contained in:
parent
1a8976cafd
commit
78935a18ae
@ -222,7 +222,7 @@ void Viewer::mousePressEvent(QMouseEvent* e) {
|
|||||||
if(!selectedGeom.position.isIdentity() && e->modifiers().testFlag(Qt::ControlModifier))
|
if(!selectedGeom.position.isIdentity() && e->modifiers().testFlag(Qt::ControlModifier))
|
||||||
{
|
{
|
||||||
std::cout << "Selecting cube" << endl;
|
std::cout << "Selecting cube" << endl;
|
||||||
if(selectedObj.shape->getParent() != nullptr) {
|
if(selectedObj.shape != nullptr && selectedObj.shape->getParent() != nullptr) {
|
||||||
// Remove previous selection
|
// Remove previous selection
|
||||||
selectedObj.shape->getParent()->getChildren()->erase(
|
selectedObj.shape->getParent()->getChildren()->erase(
|
||||||
std::remove(selectedObj.shape->getParent()->getChildren()->begin(),
|
std::remove(selectedObj.shape->getParent()->getChildren()->begin(),
|
||||||
@ -278,7 +278,7 @@ void Viewer::init()
|
|||||||
|
|
||||||
{
|
{
|
||||||
// Default non existant cube
|
// Default non existant cube
|
||||||
selectedObj.shape = new Cube();
|
selectedObj.shape = nullptr;
|
||||||
|
|
||||||
QColor* c1 = new QColor(255, 0, 255, 255);
|
QColor* c1 = new QColor(255, 0, 255, 255);
|
||||||
QColor* c2 = new QColor(0, 255, 255, 255);
|
QColor* c2 = new QColor(0, 255, 255, 255);
|
||||||
@ -315,7 +315,7 @@ void Viewer::init()
|
|||||||
Shape* cube = new Cube();
|
Shape* cube = new Cube();
|
||||||
SceneGroup *sc = new SceneGroup();
|
SceneGroup *sc = new SceneGroup();
|
||||||
cube->setColor(*c1);
|
cube->setColor(*c1);
|
||||||
cube->setType(TEX_GRASS);
|
cube->setType(TEX_WOODFLOOR);
|
||||||
sc->addChild(cube);
|
sc->addChild(cube);
|
||||||
sc->transform.translate(-5+i, 0, -5+j);
|
sc->transform.translate(-5+i, 0, -5+j);
|
||||||
root.addChild(sc);
|
root.addChild(sc);
|
||||||
@ -817,7 +817,7 @@ void Viewer::setMinLinear(bool on) {
|
|||||||
|
|
||||||
void Viewer::deleteSelected() {
|
void Viewer::deleteSelected() {
|
||||||
// Remove Shape from its parent
|
// Remove Shape from its parent
|
||||||
|
if(selectedObj.shape == nullptr) return;
|
||||||
selectedObj.shape->getParent()->getChildren()->erase(
|
selectedObj.shape->getParent()->getChildren()->erase(
|
||||||
std::remove(selectedObj.shape->getParent()->getChildren()->begin(),
|
std::remove(selectedObj.shape->getParent()->getChildren()->begin(),
|
||||||
selectedObj.shape->getParent()->getChildren()->end(),
|
selectedObj.shape->getParent()->getChildren()->end(),
|
||||||
@ -830,7 +830,7 @@ void Viewer::deleteSelected() {
|
|||||||
selectedObj.shape),
|
selectedObj.shape),
|
||||||
selectedObj.shape->getParent()->getChildren()->end());
|
selectedObj.shape->getParent()->getChildren()->end());
|
||||||
|
|
||||||
selectedObj.shape = new Cube(); // Rebind to "null"
|
selectedObj.shape = nullptr; // Rebind to "null"
|
||||||
|
|
||||||
cubeSelected(false);
|
cubeSelected(false);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user