diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index 8e343df24f..d45eeef2ee 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -4454,12 +4454,16 @@ bool OverlayWidget::handleContextMenu(std::optional position) { const style::icon *icon) { _menu->addAction(text, std::move(handler), icon); }); - _menu->setDestroyedCallback(crl::guard(_widget, [=] { - activateControls(); - _receiveMouse = false; - InvokeQueued(_widget, [=] { receiveMouse(); }); - })); - _menu->popup(QCursor::pos()); + if (_menu->empty()) { + _menu = nullptr; + } else { + _menu->setDestroyedCallback(crl::guard(_widget, [=] { + activateControls(); + _receiveMouse = false; + InvokeQueued(_widget, [=] { receiveMouse(); }); + })); + _menu->popup(QCursor::pos()); + } activateControls(); return true; }