diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp index 984630f1b..3e014caf1 100644 --- a/Telegram/SourceFiles/app.cpp +++ b/Telegram/SourceFiles/app.cpp @@ -202,7 +202,7 @@ namespace App { globalNotifyAllPtr = UnknownNotifySettings; globalNotifyUsersPtr = UnknownNotifySettings; globalNotifyChatsPtr = UnknownNotifySettings; - App::uploader()->clear(); + if (App::uploader()) App::uploader()->clear(); clearStorageImages(); if (w) { w->getTitle()->updateBackButton(); diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index 06e0f1cfd..1293e86b6 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -489,7 +489,7 @@ int32 Application::updatingReady() { #endif FileUploader *Application::uploader() { - if (!::uploader) ::uploader = new FileUploader(); + if (!::uploader && !App::quiting()) ::uploader = new FileUploader(); return ::uploader; } @@ -878,6 +878,7 @@ void Application::closeApplication() { Application::~Application() { App::setQuiting(); + window->setParent(0); anim::stopManager(); @@ -886,8 +887,10 @@ Application::~Application() { closeApplication(); App::deinitMedia(); deinitImageLinkManager(); + mainApp = 0; delete ::uploader; + #ifndef TDESKTOP_DISABLE_AUTOUPDATE delete updateReply; updateReply = 0; diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index 41959d51d..6b772d4f1 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -2968,8 +2968,8 @@ void HistoryItem::setId(MsgId newId) { HistoryItem::~HistoryItem() { App::historyUnregItem(this); - if (id < 0) { - App::app()->uploader()->cancel(fullId()); + if (id < 0 && App::uploader()) { + App::uploader()->cancel(fullId()); } }