Changeset View
Changeset View
Standalone View
Standalone View
src/core/slave.cpp
Show First 20 Lines • Show All 292 Lines • ▼ Show 20 Line(s) | 291 | { | |||
---|---|---|---|---|---|
293 | d->m_refCount++; | 293 | d->m_refCount++; | ||
294 | } | 294 | } | ||
295 | 295 | | |||
296 | void Slave::deref() | 296 | void Slave::deref() | ||
297 | { | 297 | { | ||
298 | Q_D(Slave); | 298 | Q_D(Slave); | ||
299 | d->m_refCount--; | 299 | d->m_refCount--; | ||
300 | if (!d->m_refCount) { | 300 | if (!d->m_refCount) { | ||
301 | aboutToDelete(); | ||||
302 | delete this; // yes it reads funny, but it's too late for a deleteLater() here, no event loop anymore | ||||
303 | } | ||||
304 | } | ||||
305 | | ||||
306 | void Slave::aboutToDelete() | ||||
307 | { | ||||
308 | Q_D(Slave); | ||||
301 | d->connection->disconnect(this); | 309 | d->connection->disconnect(this); | ||
302 | this->disconnect(); | 310 | this->disconnect(); | ||
303 | deleteLater(); | | |||
304 | } | | |||
305 | } | 311 | } | ||
306 | 312 | | |||
307 | int Slave::idleTime() | 313 | int Slave::idleTime() | ||
308 | { | 314 | { | ||
309 | Q_D(Slave); | 315 | Q_D(Slave); | ||
310 | if (!d->m_idleSince.isValid()) { | 316 | if (!d->m_idleSince.isValid()) { | ||
311 | return 0; | 317 | return 0; | ||
312 | } | 318 | } | ||
▲ Show 20 Lines • Show All 262 Lines • Show Last 20 Lines |