From fcd2f69b6503314285653588e9565ced4c211ae1 Mon Sep 17 00:00:00 2001 From: rachytski Date: Wed, 23 Mar 2011 00:15:52 +0200 Subject: [PATCH] fixing bug in Framework::Repaint() --- map/framework.hpp | 2 +- map/render_queue_routine.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/map/framework.hpp b/map/framework.hpp index 3c8d7fbadd..11228a5aa1 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -514,8 +514,8 @@ public: void Repaint() { - AddRedrawCommandSure(); m_renderQueue.SetRedrawAll(); + AddRedrawCommandSure(); Invalidate(); } diff --git a/map/render_queue_routine.cpp b/map/render_queue_routine.cpp index e1f6fe1543..cef87f33ff 100644 --- a/map/render_queue_routine.cpp +++ b/map/render_queue_routine.cpp @@ -257,6 +257,7 @@ void RenderQueueRoutine::Do() m_threadDrawer->SetVisualScale(m_visualScale); bool isPanning = false; + bool doRedrawAll = false; /// update areas in pixel coordinates. vector areas; @@ -312,6 +313,8 @@ void RenderQueueRoutine::Do() m2::RectI curRect = textureRect; + doRedrawAll = m_renderState->m_doRepaintAll; + if (m_renderState->m_doRepaintAll) { areas.clear(); @@ -364,7 +367,7 @@ void RenderQueueRoutine::Do() m_threadDrawer->screen()->setClipRect(textureRect); m_threadDrawer->clear(); - if (isPanning) + if ((isPanning) && (!doRedrawAll)) { m_threadDrawer->screen()->blit( m_renderState->m_actualTarget,