From 4b99eb9c8d0f322d67e45e4a02ab2be8a6dd0f99 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 28 Dec 2015 09:19:29 +0300 Subject: [PATCH] fixed crashes on quit, fixed scrolled sticker icons --- Telegram/SourceFiles/app.cpp | 4 ++-- Telegram/SourceFiles/dropdown.cpp | 1 + Telegram/SourceFiles/history.cpp | 2 +- Telegram/SourceFiles/history.h | 1 - 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp index cf5372e4e..677da9d2d 100644 --- a/Telegram/SourceFiles/app.cpp +++ b/Telegram/SourceFiles/app.cpp @@ -1920,6 +1920,8 @@ namespace App { } void historyClearMsgs() { + ::repliesTo.clear(); + QVector toDelete; for (MsgsData::const_iterator i = msgsData.cbegin(), e = msgsData.cend(); i != e; ++i) { if ((*i)->detached()) { @@ -1945,7 +1947,6 @@ namespace App { } void historyClearItems() { - historyClearMsgs(); randomData.clear(); sentData.clear(); mutedPeers.clear(); @@ -1991,7 +1992,6 @@ namespace App { ::webPageItems.clear(); ::sharedContactItems.clear(); ::gifItems.clear(); - ::repliesTo.clear(); lastPhotos.clear(); lastPhotosMap.clear(); ::self = 0; diff --git a/Telegram/SourceFiles/dropdown.cpp b/Telegram/SourceFiles/dropdown.cpp index c424fcdb2..50f6efafd 100644 --- a/Telegram/SourceFiles/dropdown.cpp +++ b/Telegram/SourceFiles/dropdown.cpp @@ -2694,6 +2694,7 @@ void EmojiPan::updateSelected() { if (y >= _iconsTop && y < _iconsTop + st::rbEmoji.height && x >= 0 && x < 7 * st::rbEmoji.width && x < _icons.size() * st::rbEmoji.width) { int32 skip = 0; for (int32 i = 0, l = _icons.size(); i < l; ++i) { + if (_icons.at(i).sticker) break; if (x < st::rbEmoji.width) { newOver = i; break; diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index c01d7f6f8..aa2934149 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -2290,7 +2290,7 @@ void History::setUnreadCount(int32 newUnreadCount, bool psUpdate) { App::histories().unreadFull += newUnreadCount - unreadCount; if (mute) App::histories().unreadMuted += newUnreadCount - unreadCount; unreadCount = newUnreadCount; - if (psUpdate && (!mute || cIncludeMuted())) App::wnd()->updateCounter(); + if (psUpdate && (!mute || cIncludeMuted()) && App::wnd()) App::wnd()->updateCounter(); if (unreadBar) { int32 count = unreadCount; if (peer->migrateTo()) { diff --git a/Telegram/SourceFiles/history.h b/Telegram/SourceFiles/history.h index 6342883df..722d8e358 100644 --- a/Telegram/SourceFiles/history.h +++ b/Telegram/SourceFiles/history.h @@ -52,7 +52,6 @@ public: void clear(); void remove(const PeerId &peer); ~Histories() { - clear(); unreadFull = unreadMuted = 0; }