From 4f0f8152012982368751da4578c1c63f79d8c02f Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 11 Jun 2021 19:36:27 +0400 Subject: [PATCH] Fix crash in saving document from media viewer. --- Telegram/SourceFiles/core/application.cpp | 4 ++-- Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp | 4 ++++ Telegram/SourceFiles/media/view/media_view_overlay_widget.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp index 7415ec8174..c3775bd746 100644 --- a/Telegram/SourceFiles/core/application.cpp +++ b/Telegram/SourceFiles/core/application.cpp @@ -970,9 +970,9 @@ bool Application::minimizeActiveWindow() { QWidget *Application::getFileDialogParent() { return (_mediaView && !_mediaView->isHidden()) - ? (QWidget*)_mediaView.get() + ? static_cast(_mediaView->widget()) : activeWindow() - ? (QWidget*)activeWindow()->widget() + ? static_cast(activeWindow()->widget()) : nullptr; } diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index 4f60428001..ee7dc30a30 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -2219,6 +2219,10 @@ bool OverlayWidget::isHidden() const { return _widget->isHidden(); } +not_null OverlayWidget::widget() const { + return _widget; +} + void OverlayWidget::hide() { clearBeforeHide(); applyHideWindowWorkaround(); diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h index f1c641c6ae..6854494edf 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h @@ -71,6 +71,7 @@ public: }; [[nodiscard]] bool isHidden() const; + [[nodiscard]] not_null widget() const; void hide(); void setCursor(style::cursor cursor); void setFocus();