diff options
author | Tim E. Real <termtech@rogers.com> | 2010-11-22 08:19:49 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2010-11-22 08:19:49 +0000 |
commit | ddbb19cf510a8d7d288575876005ea12775ef7d2 (patch) | |
tree | 5efec4e4b42a90689066c7aa84296e5a7747e5e0 /muse2/muse | |
parent | a2b0af5b4708a4468d85c0668a49a9e2dfcaeaab (diff) |
Delete main MusE object before returning from main.
Also make ClipList a child of it, so it deletes too.
Diffstat (limited to 'muse2/muse')
-rw-r--r-- | muse2/muse/app.cpp | 22 | ||||
-rw-r--r-- | muse2/muse/cliplist/cliplist.cpp | 11 | ||||
-rw-r--r-- | muse2/muse/cliplist/cliplist.h | 4 | ||||
-rw-r--r-- | muse2/muse/marker/markerview.cpp | 1 |
4 files changed, 23 insertions, 15 deletions
diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp index 502f97ef..f2c40020 100644 --- a/muse2/muse/app.cpp +++ b/muse2/muse/app.cpp @@ -3325,7 +3325,8 @@ void MusE::showDidYouKnowDialog() void MusE::startClipList(bool checked) { if (clipListEdit == 0) { - clipListEdit = new ClipListEdit(); + //clipListEdit = new ClipListEdit(); + clipListEdit = new ClipListEdit(this); toplevels.push_back(Toplevel(Toplevel::CLIPLIST, (unsigned long)(clipListEdit), clipListEdit)); connect(clipListEdit, SIGNAL(deleted(unsigned long)), SLOT(toplevelDeleted(unsigned long))); } @@ -3384,8 +3385,9 @@ void MusE::toplevelDeleted(unsigned long tl) case Toplevel::CLIPLIST: // ORCAN: This needs to be verified. aid2 used to correspond to Cliplist: //menu_audio->setItemChecked(aid2, false); - viewCliplistAction->setChecked(false); - return; + ///viewCliplistAction->setChecked(false); // Don't think we require this any more. Tim. + ///return; + break; // the followin editors can exist in more than // one instantiation: case Toplevel::PIANO_ROLL: @@ -3918,13 +3920,13 @@ int main(int argc, char* argv[]) #endif /* HAVE_LASH */ QTimer::singleShot(100, muse, SLOT(showDidYouKnowDialog())); - return app.exec(); - // p3.3.47 - //int rv = app.exec(); - // FIXME: Can't do, seg fault at MarkerView::~MarkerView() - // due to already deleted undoRedo. - //delete muse; - //return rv; + int rv = app.exec(); + if(debugMsg) + printf("app.exec() returned:%d\nDeleting main MusE object\n", rv); + delete muse; + if(debugMsg) + printf("Finished! Exiting main, return value:%d\n", rv); + return rv; } diff --git a/muse2/muse/cliplist/cliplist.cpp b/muse2/muse/cliplist/cliplist.cpp index 256a3f9c..9c67bd9d 100644 --- a/muse2/muse/cliplist/cliplist.cpp +++ b/muse2/muse/cliplist/cliplist.cpp @@ -98,11 +98,11 @@ QString ClipItem::text(int col) const // ClipListEdit //--------------------------------------------------------- -ClipListEdit::ClipListEdit() - : TopWin(0, "cliplist", Qt::Window) +ClipListEdit::ClipListEdit(QWidget* parent) + : TopWin(parent, "cliplist", Qt::Window) { //setAttribute(Qt::WA_DeleteOnClose); - setCaption(tr("MusE: Clip List Editor")); + setWindowTitle(tr("MusE: Clip List Editor")); editor = new ClipListEditorBaseWidget; setCentralWidget(editor); @@ -127,6 +127,11 @@ ClipListEdit::ClipListEdit() updateList(); } +ClipListEdit::~ClipListEdit() +{ + +} + //--------------------------------------------------------- // updateList //--------------------------------------------------------- diff --git a/muse2/muse/cliplist/cliplist.h b/muse2/muse/cliplist/cliplist.h index 156bc230..d440aec3 100644 --- a/muse2/muse/cliplist/cliplist.h +++ b/muse2/muse/cliplist/cliplist.h @@ -16,6 +16,7 @@ class QCloseEvent; class QDialog; +class QWidget; class QTreeWidgetItem; class Xml; @@ -56,7 +57,8 @@ class ClipListEdit : public TopWin { void deleted(unsigned long); public: - ClipListEdit(); + ClipListEdit(QWidget* parent); + ~ClipListEdit(); virtual void readStatus(Xml&); virtual void writeStatus(int, Xml&) const; }; diff --git a/muse2/muse/marker/markerview.cpp b/muse2/muse/marker/markerview.cpp index 910d1cf3..f4959440 100644 --- a/muse2/muse/marker/markerview.cpp +++ b/muse2/muse/marker/markerview.cpp @@ -264,7 +264,6 @@ MarkerView::MarkerView(QWidget* parent) MarkerView::~MarkerView() { - // p3.3.47 //printf("MarkerView::~MarkerView() before undoRedo->removeFrom(tools)\n"); // undoRedo->removeFrom(tools); // p4.0.6 Removed |