diff --git a/Telegram/SourceFiles/iv/iv_delegate.h b/Telegram/SourceFiles/iv/iv_delegate.h index fd94cac0a3..09374fa174 100644 --- a/Telegram/SourceFiles/iv/iv_delegate.h +++ b/Telegram/SourceFiles/iv/iv_delegate.h @@ -7,13 +7,17 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once +namespace Ui { +class RpWindow; +} // namespace Ui + namespace Iv { class Delegate { public: virtual void ivSetLastSourceWindow(not_null window) = 0; [[nodiscard]] virtual QRect ivGeometry() const = 0; - virtual void ivSaveGeometry(not_null window) = 0; + virtual void ivSaveGeometry(not_null window) = 0; }; } // namespace Iv diff --git a/Telegram/SourceFiles/iv/iv_delegate_impl.cpp b/Telegram/SourceFiles/iv/iv_delegate_impl.cpp index 5ac753d17f..4de0fa03c8 100644 --- a/Telegram/SourceFiles/iv/iv_delegate_impl.cpp +++ b/Telegram/SourceFiles/iv/iv_delegate_impl.cpp @@ -67,7 +67,7 @@ QRect DelegateImpl::ivGeometry() const { return result; } -void DelegateImpl::ivSaveGeometry(not_null window) { +void DelegateImpl::ivSaveGeometry(not_null window) { if (!window->windowHandle()) { return; } @@ -82,7 +82,7 @@ void DelegateImpl::ivSaveGeometry(not_null window) { realPosition.moncrc = 0; DEBUG_LOG(("IV Pos: Saving maximized position.")); } else { - auto r = window->geometry(); + auto r = window->body()->mapToGlobal(window->body()->rect()); realPosition.x = r.x(); realPosition.y = r.y(); realPosition.w = r.width(); diff --git a/Telegram/SourceFiles/iv/iv_delegate_impl.h b/Telegram/SourceFiles/iv/iv_delegate_impl.h index 32b15ae8fe..9c7c0fb9d2 100644 --- a/Telegram/SourceFiles/iv/iv_delegate_impl.h +++ b/Telegram/SourceFiles/iv/iv_delegate_impl.h @@ -17,7 +17,7 @@ public: void ivSetLastSourceWindow(not_null window) override; [[nodiscard]] QRect ivGeometry() const override; - void ivSaveGeometry(not_null window) override; + void ivSaveGeometry(not_null window) override; private: QPointer _lastSourceWindow;