From f151f3a004388cf1c898c0568612bc2793b1dbd1 Mon Sep 17 00:00:00 2001 From: rachytski Date: Fri, 14 Dec 2012 17:57:43 +0300 Subject: [PATCH] returning raw pointer instead of shared_ptr from RenderContext::createShared, allowing clients to choose lifetime handling policy by themselves. --- android/jni/com/mapswithme/core/render_context.cpp | 4 ++-- android/jni/com/mapswithme/core/render_context.hpp | 2 +- graphics/render_context.hpp | 2 +- iphone/Maps/Classes/RenderContext.hpp | 2 +- iphone/Maps/Classes/RenderContext.mm | 4 ++-- map/coverage_generator.cpp | 2 +- map/qgl_render_context.cpp | 4 ++-- map/qgl_render_context.hpp | 2 +- map/tile_renderer.cpp | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/android/jni/com/mapswithme/core/render_context.cpp b/android/jni/com/mapswithme/core/render_context.cpp index 47b1241458..9281f024b3 100644 --- a/android/jni/com/mapswithme/core/render_context.cpp +++ b/android/jni/com/mapswithme/core/render_context.cpp @@ -13,9 +13,9 @@ namespace android { } - shared_ptr RenderContext::createShared() + graphics::RenderContext * RenderContext::createShared() { - shared_ptr rc(new RenderContext()); + RenderContext * rc = new RenderContext(); rc->setResourceManager(resourceManager()); return rc; } diff --git a/android/jni/com/mapswithme/core/render_context.hpp b/android/jni/com/mapswithme/core/render_context.hpp index 3edba0868c..5b674643d3 100644 --- a/android/jni/com/mapswithme/core/render_context.hpp +++ b/android/jni/com/mapswithme/core/render_context.hpp @@ -19,6 +19,6 @@ namespace android void makeCurrent(); - shared_ptr createShared(); + graphics::RenderContext * createShared(); }; } diff --git a/graphics/render_context.hpp b/graphics/render_context.hpp index bba527bc1e..0df84cbab1 100644 --- a/graphics/render_context.hpp +++ b/graphics/render_context.hpp @@ -48,7 +48,7 @@ namespace graphics /// Create a render context which is shared with this one. /// Context sharing means that all resources created in one context /// can be used in shared context and vice versa. - virtual shared_ptr createShared() = 0; + virtual RenderContext * createShared() = 0; /// this function should be called from each opengl thread /// to setup some thread parameters. virtual void startThreadDrawing(unsigned threadSlot); diff --git a/iphone/Maps/Classes/RenderContext.hpp b/iphone/Maps/Classes/RenderContext.hpp index 7ce721bdd0..d19be6908c 100644 --- a/iphone/Maps/Classes/RenderContext.hpp +++ b/iphone/Maps/Classes/RenderContext.hpp @@ -34,7 +34,7 @@ namespace iphone /// Make this rendering context current void makeCurrent(); /// create a shared render context - shared_ptr createShared(); + graphics::RenderContext * createShared(); EAGLContext * getEAGLContext(); }; diff --git a/iphone/Maps/Classes/RenderContext.mm b/iphone/Maps/Classes/RenderContext.mm index c5512e0899..87355ec40d 100644 --- a/iphone/Maps/Classes/RenderContext.mm +++ b/iphone/Maps/Classes/RenderContext.mm @@ -31,9 +31,9 @@ namespace iphone [EAGLContext setCurrentContext:m_context]; } - shared_ptr RenderContext::createShared() + graphics::RenderContext * RenderContext::createShared() { - shared_ptr res(new RenderContext(this)); + graphics::RenderContext * res = new RenderContext(this); res->setResourceManager(resourceManager()); return res; } diff --git a/map/coverage_generator.cpp b/map/coverage_generator.cpp index 75541ac37d..fe73664a56 100644 --- a/map/coverage_generator.cpp +++ b/map/coverage_generator.cpp @@ -39,7 +39,7 @@ CoverageGenerator::CoverageGenerator( m_resourceManager = rm; if (!m_glQueue) - m_renderContext = primaryRC->createShared(); + m_renderContext.reset(primaryRC->createShared()); m_queue.AddInitCommand(bind(&CoverageGenerator::InitializeThreadGL, this)); m_queue.AddFinCommand(bind(&CoverageGenerator::FinalizeThreadGL, this)); diff --git a/map/qgl_render_context.cpp b/map/qgl_render_context.cpp index f898e5e5cf..f15f7c42e4 100644 --- a/map/qgl_render_context.cpp +++ b/map/qgl_render_context.cpp @@ -31,9 +31,9 @@ namespace qt m_context->makeCurrent(); } - shared_ptr RenderContext::createShared() + graphics::RenderContext * RenderContext::createShared() { - shared_ptr res(new RenderContext(this)); + graphics::gl::RenderContext * res = new RenderContext(this); res->setResourceManager(resourceManager()); return res; } diff --git a/map/qgl_render_context.hpp b/map/qgl_render_context.hpp index e95f73cb53..661c2d780c 100644 --- a/map/qgl_render_context.hpp +++ b/map/qgl_render_context.hpp @@ -30,7 +30,7 @@ namespace qt /// Make this rendering context current void makeCurrent(); - shared_ptr createShared(); + graphics::RenderContext * createShared(); /// Leave previous logic, but fix thread widget deletion error. void endThreadDrawing(unsigned threadSlot); diff --git a/map/tile_renderer.cpp b/map/tile_renderer.cpp index 9f1034ca45..c4d23aa7da 100644 --- a/map/tile_renderer.cpp +++ b/map/tile_renderer.cpp @@ -51,7 +51,7 @@ TileRenderer::TileRenderer( for (unsigned i = 0; i < m_threadData.size(); ++i) { if (!packetsQueues) - m_threadData[i].m_renderContext = m_primaryContext->createShared(); + m_threadData[i].m_renderContext.reset(m_primaryContext->createShared()); Drawer::Params params;