diff options
author | rachytski <siarhei.rachytski@gmail.com> | 2012-02-02 17:34:53 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:32:59 +0300 |
commit | 9f9c72a0ac4d8d55a1ca3713e652d6255913cae1 (patch) | |
tree | 8b79aab77eb9232808b1a7d4725a467d8c510856 /iphone/Maps/Classes/EAGLView.mm | |
parent | f6f50c96fe7976210431716e59e9acda3d0dba8d (diff) |
[iphone] fixed freezed picture upon screen rotation. closes #529
Diffstat (limited to 'iphone/Maps/Classes/EAGLView.mm')
-rw-r--r-- | iphone/Maps/Classes/EAGLView.mm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/iphone/Maps/Classes/EAGLView.mm b/iphone/Maps/Classes/EAGLView.mm index 880681152d..a223cde32b 100644 --- a/iphone/Maps/Classes/EAGLView.mm +++ b/iphone/Maps/Classes/EAGLView.mm @@ -117,10 +117,14 @@ shared_ptr<DrawerYG> drawer = framework->GetRenderPolicy()->GetDrawer(); - /// free old video memory + /// free old render buffer, as we would not create a new one. drawer->screen()->resetRenderTarget(); drawer->screen()->resetDepthBuffer(); renderBuffer.reset(); + + /// detaching of old render target will occur inside beginFrame + drawer->screen()->beginFrame(); + drawer->screen()->endFrame(); /// allocate the new one renderBuffer = make_shared_ptr(new iphone::RenderBuffer(renderContext, (CAEAGLLayer*)self.layer)); @@ -128,7 +132,7 @@ drawer->screen()->setRenderTarget(renderBuffer); drawer->screen()->setDepthBuffer(make_shared_ptr(new yg::gl::RenderBuffer(width, height, true))); - framework->OnSize(width, height); + framework->OnSize(width, height); drawer->screen()->beginFrame(); drawer->screen()->clear(yg::gl::Screen::s_bgColor); |