diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index 365a0a59c..8d9e0a743 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -179,6 +179,7 @@ void Application::onAppUpdate(const MTPhelp_AppUpdate &response) { startUpdateCheck(); } else { updateThread = new QThread(); + connect(updateThread, SIGNAL(finished()), updateThread, SLOT(deleteLater())); updateDownloader = new PsUpdateDownloader(updateThread, response.c_help_appUpdate()); updateThread->start(); } @@ -201,6 +202,7 @@ void Application::updateGotCurrent() { int32 currentVersion = m.captured(1).toInt(); if (currentVersion > AppVersion) { updateThread = new QThread(); + connect(updateThread, SIGNAL(finished()), updateThread, SLOT(deleteLater())); updateDownloader = new PsUpdateDownloader(updateThread, m.captured(2)); updateThread->start(); } @@ -247,7 +249,7 @@ void Application::onUpdateFailed() { if (updateDownloader) { updateDownloader->deleteLater(); updateDownloader = 0; - if (updateThread) updateThread->deleteLater(); + if (updateThread) updateThread->quit(); updateThread = 0; } @@ -477,7 +479,7 @@ void Application::stopUpdate() { if (updateDownloader) { updateDownloader->deleteLater(); updateDownloader = 0; - if (updateThread) updateThread->deleteLater(); + if (updateThread) updateThread->quit(); updateThread = 0; } } @@ -775,9 +777,9 @@ Application::~Application() { delete updateReply; delete ::uploader; updateReply = 0; - delete updateDownloader; + if (updateDownloader) updateDownloader->deleteLater(); updateDownloader = 0; - delete updateThread; + if (updateThread) updateThread->quit(); updateThread = 0; delete window; diff --git a/Telegram/SourceFiles/art/sprite.png b/Telegram/SourceFiles/art/sprite.png index b4a293083..11be67e95 100644 Binary files a/Telegram/SourceFiles/art/sprite.png and b/Telegram/SourceFiles/art/sprite.png differ diff --git a/Telegram/SourceFiles/art/sprite_200x.png b/Telegram/SourceFiles/art/sprite_200x.png index 87968e1d6..aecf1f7b1 100644 Binary files a/Telegram/SourceFiles/art/sprite_200x.png and b/Telegram/SourceFiles/art/sprite_200x.png differ diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp index 319c73934..5d30e18ea 100644 --- a/Telegram/SourceFiles/historywidget.cpp +++ b/Telegram/SourceFiles/historywidget.cpp @@ -711,7 +711,7 @@ void HistoryList::showContextMenu(QContextMenuEvent *e, bool showFromTouch) { _menu->addAction(lang(lng_context_forward_selected), historyWidget, SLOT(onForwardSelected())); _menu->addAction(lang(lng_context_delete_selected), historyWidget, SLOT(onDeleteSelected())); _menu->addAction(lang(lng_context_clear_selection), historyWidget, SLOT(onClearSelected())); - } else { + } else if (item) { if (!_menu) _menu = new ContextMenu(this); if (isUponSelected != -2) { if (canForward) { @@ -723,6 +723,12 @@ void HistoryList::showContextMenu(QContextMenuEvent *e, bool showFromTouch) { } } _menu->addAction(lang(lng_context_select_msg), historyWidget, SLOT(selectMessage()))->setEnabled(true); + } else { + if (App::mousedItem() && App::mousedItem()->itemType() == HistoryItem::MsgType) { + if (!_menu) _menu = new ContextMenu(this); + _menu->addAction(lang(lng_context_select_msg), historyWidget, SLOT(selectMessage()))->setEnabled(true); + item = App::mousedItem(); + } } App::contextItem(item); }