5
//----------------------------------------------------------------------------
7
//----------------------------------------------------------------------------
8
SafeDelete::SafeDelete()
13
SafeDelete::~SafeDelete()
19
void SafeDelete::deleteLater(QObject *o)
27
void SafeDelete::unlock()
33
void SafeDelete::deleteAll()
38
QObjectListIt it(list);
39
for(QObject *o; (o = it.current()); ++it)
44
void SafeDelete::deleteSingle(QObject *o)
46
#if QT_VERSION < 0x030000
47
// roll our own QObject::deleteLater()
48
SafeDeleteLater *sdl = SafeDeleteLater::ensureExists();
49
sdl->deleteItLater(o);
55
//----------------------------------------------------------------------------
57
//----------------------------------------------------------------------------
58
SafeDeleteLock::SafeDeleteLock(SafeDelete *sd)
69
SafeDeleteLock::~SafeDeleteLock()
78
void SafeDeleteLock::dying()
80
_sd = new SafeDelete(*_sd);
84
//----------------------------------------------------------------------------
86
//----------------------------------------------------------------------------
87
SafeDeleteLater *SafeDeleteLater::self = 0;
89
SafeDeleteLater *SafeDeleteLater::ensureExists()
92
new SafeDeleteLater();
96
SafeDeleteLater::SafeDeleteLater()
98
list.setAutoDelete(true);
100
QTimer::singleShot(0, this, SLOT(explode()));
103
SafeDeleteLater::~SafeDeleteLater()
109
void SafeDeleteLater::deleteItLater(QObject *o)
114
void SafeDeleteLater::explode()