Log avatar preparation generation and teardown state
This commit is contained in:
1 parent
90d6f78a9e
commit
d72a2c092e
1 file changed
+5
@@ -38,6 +38,8 @@ AvatarManager::AvatarManager(DbManager* db, QObject* parent) : QObject(parent),
|
||||
}
|
||||
|
||||
AvatarManager::~AvatarManager() {
|
||||
DEBUG_DEBUG(DEBUG_CATEGORY_MEDIA, "avatar: manager destroying preparing=%d jobs=%d workers=%d",
|
||||
m_preparing, int(m_jobs.size()), m_pool.activeThreadCount());
|
||||
m_timer.stop(); s_manager = nullptr; m_pool.waitForDone();
|
||||
for (auto id : m_jobs.keys()) {
|
||||
if (!gui_bridge_is_uasync_ready()) break;
|
||||
@@ -282,6 +284,8 @@ void AvatarManager::uploadDefault(const QString& source, quint64 server, const Q
|
||||
const QString directory = m_directory; const quint64 generation = ++m_generation; cancelUploads();
|
||||
QStringList pinned; if (!m_defaultHash.isEmpty()) pinned << m_defaultHash;
|
||||
for (const auto& job : m_jobs) if (job.upload) pinned << job.ref.hash;
|
||||
DEBUG_DEBUG(DEBUG_CATEGORY_MEDIA, "avatar: preparing generation=%llu server=%016llx source=%s",
|
||||
(unsigned long long)generation, (unsigned long long)server, qPrintable(source));
|
||||
m_pool.start(QRunnable::create([this, source, directory, server, generation, pinned, crop] {
|
||||
const auto result = AvatarCache::prepare(source, directory, crop);
|
||||
if (!result.image.isNull()) { auto keep = pinned; keep << result.hash; AvatarCache::prune(directory, keep); }
|
||||
@@ -321,6 +325,7 @@ void AvatarManager::cancelUploads() {
|
||||
|
||||
void AvatarManager::clearDefault() {
|
||||
if (!m_ready || !gui_bridge_is_uasync_ready()) return;
|
||||
DEBUG_DEBUG(DEBUG_CATEGORY_MEDIA, "avatar: clear default generation=%llu preparing=%d", (unsigned long long)m_generation, m_preparing);
|
||||
++m_generation; m_preparing = false; cancelUploads(); m_defaultHash.clear(); m_defaultServer = 0; saveDefault();
|
||||
for (const auto& ref : m_refs) if (ref.owner == m_db->myNodeId()) {
|
||||
Job job; job.ref = ref; job.ref.server = 0; job.ref.hash.clear(); job.upload = true; job.generation = m_generation;
|
||||
|
||||
Reference in new issue
Block a user