diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index 8d248beb53..64e9aa7fac 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -4222,8 +4222,7 @@ void HistoryInner::captureViewForThanosEffect( _thanosEffect->setGeometry(QRect(QPoint(), topLevel->size())); _thanosEffect->raise(); - const auto localPos = QPoint(0, screenTop + _visibleAreaTop); - const auto globalPos = mapTo(topLevel, localPos); + const auto globalPos = _scroll->mapTo(topLevel, QPoint(0, screenTop)); _thanosEffect->addItem( std::move(image), QRect(globalPos, QSize(viewWidth, viewHeight))); diff --git a/Telegram/SourceFiles/ui/effects/thanos_effect_renderer.cpp b/Telegram/SourceFiles/ui/effects/thanos_effect_renderer.cpp index 420071b83d..670cddfe19 100644 --- a/Telegram/SourceFiles/ui/effects/thanos_effect_renderer.cpp +++ b/Telegram/SourceFiles/ui/effects/thanos_effect_renderer.cpp @@ -343,7 +343,8 @@ void ThanosEffectRenderer::render( } RenderUniforms uni; uni.rect[0] = float(item.rect.x()) / viewW; - uni.rect[1] = float(item.rect.y()) / viewH; + uni.rect[1] = (viewH - float(item.rect.y()) + - float(item.rect.height())) / viewH; uni.rect[2] = float(item.rect.width()) / viewW; uni.rect[3] = float(item.rect.height()) / viewH; uni.size[0] = float(item.rect.width());