diff --git a/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.cpp b/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.cpp index e85f1866ee..890a755ae2 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.cpp @@ -174,6 +174,12 @@ void EmojiStatusPanel::show(Descriptor &&descriptor) { _panel->toggleAnimated(); } +void EmojiStatusPanel::hideFast() { + if (_panel) { + _panel->hideFast(); + } +} + bool EmojiStatusPanel::hasFocus() const { return _panel && Ui::InFocusChain(_panel.get()); } diff --git a/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.h b/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.h index 16040e0258..48e854ed6f 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.h +++ b/Telegram/SourceFiles/info/profile/info_profile_emoji_status_panel.h @@ -59,6 +59,7 @@ public: bool withCollectibles = false; }; void show(Descriptor &&descriptor); + void hideFast(); void repaint(); struct CustomChosen { diff --git a/Telegram/SourceFiles/window/window_main_menu.cpp b/Telegram/SourceFiles/window/window_main_menu.cpp index 89ecba366f..d096e390e3 100644 --- a/Telegram/SourceFiles/window/window_main_menu.cpp +++ b/Telegram/SourceFiles/window/window_main_menu.cpp @@ -846,6 +846,10 @@ bool MainMenu::eventHook(QEvent *event) { return RpWidget::eventHook(event); } +void MainMenu::hideEvent(QHideEvent *e) { + _emojiStatusPanel->hideFast(); +} + void MainMenu::paintEvent(QPaintEvent *e) { auto p = Painter(this); const auto clip = e->rect(); diff --git a/Telegram/SourceFiles/window/window_main_menu.h b/Telegram/SourceFiles/window/window_main_menu.h index 36a3087a05..281b747856 100644 --- a/Telegram/SourceFiles/window/window_main_menu.h +++ b/Telegram/SourceFiles/window/window_main_menu.h @@ -61,6 +61,7 @@ private: bool eventHook(QEvent *event) override; void paintEvent(QPaintEvent *e) override; void resizeEvent(QResizeEvent *e) override; + void hideEvent(QHideEvent *e) override; void doSetInnerFocus() override { setFocus();