# HG changeset patch # User Santeri Piippo # Date 1382459621 -10800 # Node ID e38d199ef9aa9e2e33553a913845f4b354e7b643 # Parent 47c068f2e7e32e731e9d96b1e0ba7153a5832ee7 fixed: deleting objects would trigger a crash diff -r 47c068f2e7e3 -r e38d199ef9aa src/crashcatcher.cpp --- a/src/crashcatcher.cpp Tue Oct 22 19:28:45 2013 +0300 +++ b/src/crashcatcher.cpp Tue Oct 22 19:33:41 2013 +0300 @@ -32,7 +32,7 @@ if (g_crashCatcherActive) { printf ("caught signal while crash catcher is active!\n"); - return; + exit (149); } const pid_t pid = getpid(); diff -r 47c068f2e7e3 -r e38d199ef9aa src/gui.cpp --- a/src/gui.cpp Tue Oct 22 19:28:45 2013 +0300 +++ b/src/gui.cpp Tue Oct 22 19:33:41 2013 +0300 @@ -258,17 +258,13 @@ return 0; QList selCopy = selection(); - int num = 0; // Delete the objects that were being selected for (LDObject* obj : selCopy) - { LDFile::current()->forgetObject (obj); - ++num; delete obj; - } refresh(); - return num; + return selCopy.size(); } // ============================================================================= diff -r 47c068f2e7e3 -r e38d199ef9aa src/ldtypes.cpp --- a/src/ldtypes.cpp Tue Oct 22 19:28:45 2013 +0300 +++ b/src/ldtypes.cpp Tue Oct 22 19:33:41 2013 +0300 @@ -268,6 +268,10 @@ if (selected()) unselect(); + // If this object was associated to a file, remove it off it now + if (file()) + file()->forgetObject (this); + // Delete the GL lists GL::deleteLists (this);