summaryrefslogtreecommitdiff
path: root/muse2/muse/cobject.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/cobject.h')
-rw-r--r--muse2/muse/cobject.h28
1 files changed, 23 insertions, 5 deletions
diff --git a/muse2/muse/cobject.h b/muse2/muse/cobject.h
index c1c45039..f6ea2ce1 100644
--- a/muse2/muse/cobject.h
+++ b/muse2/muse/cobject.h
@@ -62,7 +62,8 @@ class TopWin : public QMainWindow
ToplevelType type() const { return _type; }
static QString typeName(ToplevelType t);
-
+ bool deleting() const { return _isDeleting; }
+
virtual void readStatus(MusECore::Xml&);
virtual void writeStatus(int, MusECore::Xml&) const;
@@ -118,6 +119,11 @@ class TopWin : public QMainWindow
QByteArray _savedToolbarState;
+ // Set if close has been called on a TopWin having the WA_DeleteOnClose attribute.
+ // The TopWins and any children should ignore any signals such as songChanged
+ // which may cause a crash while deleting.
+ bool _isDeleting;
+
void initTopwinState();
private slots:
@@ -131,13 +137,25 @@ class TopWin : public QMainWindow
void shareToolsAndMenu(bool);
void restoreMainwinState();
void storeInitialState() const;
-
+
};
-typedef std::list <TopWin*> ToplevelList;
-typedef ToplevelList::iterator iToplevel;
-typedef ToplevelList::const_iterator ciToplevel;
+//---------------------------------------------------------
+// ToplevelList
+//---------------------------------------------------------
+
+//typedef std::list <TopWin*> ToplevelList;
+//typedef ToplevelList::iterator iToplevel;
+//typedef ToplevelList::const_iterator ciToplevel;
+
+typedef std::list<TopWin*>::iterator iToplevel;
+typedef std::list<TopWin*>::const_iterator ciToplevel;
+
+class ToplevelList : public std::list<TopWin* > {
+ public:
+ TopWin* findType(TopWin::ToplevelType) const;
+ };
} // namespace MusEGui