3
//----------------------------------------------------------------------------
5
//----------------------------------------------------------------------------
6
SafeDelete::SafeDelete()
11
SafeDelete::~SafeDelete()
17
void SafeDelete::deleteLater(QObject *o)
25
void SafeDelete::unlock()
31
void SafeDelete::deleteAll()
36
for(int n = 0; n < list.size(); ++n)
37
deleteSingle(list[n]);
41
void SafeDelete::deleteSingle(QObject *o)
43
#if QT_VERSION < 0x030000
44
// roll our own QObject::deleteLater()
45
SafeDeleteLater *sdl = SafeDeleteLater::ensureExists();
46
sdl->deleteItLater(o);
52
//----------------------------------------------------------------------------
54
//----------------------------------------------------------------------------
55
SafeDeleteLock::SafeDeleteLock(SafeDelete *sd)
66
SafeDeleteLock::~SafeDeleteLock()
75
void SafeDeleteLock::dying()
77
_sd = new SafeDelete(*_sd);
81
//----------------------------------------------------------------------------
83
//----------------------------------------------------------------------------
84
SafeDeleteLater *SafeDeleteLater::self = 0;
86
SafeDeleteLater *SafeDeleteLater::ensureExists()
89
new SafeDeleteLater();
93
SafeDeleteLater::SafeDeleteLater()
96
QTimer::singleShot(0, this, SLOT(explode()));
99
SafeDeleteLater::~SafeDeleteLater()
106
void SafeDeleteLater::deleteItLater(QObject *o)
111
void SafeDeleteLater::explode()