| 372 | } |
| 373 | |
| 374 | void ItemRepositoryRegistry::shutdown() |
| 375 | { |
| 376 | Q_D(ItemRepositoryRegistry); |
| 377 | |
| 378 | QMutexLocker lock(&d->m_mutex); |
| 379 | |
| 380 | // FIXME: we don't close since this can trigger crashes at shutdown |
| 381 | // since some items are still referenced, e.g. in static variables |
| 382 | // NOTE: ItemRepositoryRegistryPrivate::close() used to close all contained repositories and clear d->m_path |
| 383 | // under d->m_mutex lock before its code was moved into ~ItemRepositoryRegistry(). |
| 384 | // If this closing is ever uncommented, d->m_path could be cleared after its use in the code below. |
| 385 | // d->close(); |
| 386 | |
| 387 | if (d->m_shallDelete) { |
| 388 | d->deleteDataDirectory(false); |
| 389 | } else { |
| 390 | QFile::remove(d->m_path + QLatin1String("/crash_counter")); |
| 391 | } |
| 392 | |
| 393 | d->m_wasShutdown = true; |
| 394 | } |
| 395 | } |