forked from organicmaps/organicmaps-tmp
returning raw pointer instead of shared_ptr from RenderContext::createShared, allowing clients to choose lifetime handling policy by themselves.
This commit is contained in:
parent
0f376a46e5
commit
f151f3a004
9 changed files with 12 additions and 12 deletions
|
@ -13,9 +13,9 @@ namespace android
|
|||
{
|
||||
}
|
||||
|
||||
shared_ptr<graphics::RenderContext> RenderContext::createShared()
|
||||
graphics::RenderContext * RenderContext::createShared()
|
||||
{
|
||||
shared_ptr<RenderContext> rc(new RenderContext());
|
||||
RenderContext * rc = new RenderContext();
|
||||
rc->setResourceManager(resourceManager());
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -19,6 +19,6 @@ namespace android
|
|||
|
||||
void makeCurrent();
|
||||
|
||||
shared_ptr<graphics::RenderContext> createShared();
|
||||
graphics::RenderContext * createShared();
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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<RenderContext> 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);
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace iphone
|
|||
/// Make this rendering context current
|
||||
void makeCurrent();
|
||||
/// create a shared render context
|
||||
shared_ptr<graphics::RenderContext> createShared();
|
||||
graphics::RenderContext * createShared();
|
||||
|
||||
EAGLContext * getEAGLContext();
|
||||
};
|
||||
|
|
|
@ -31,9 +31,9 @@ namespace iphone
|
|||
[EAGLContext setCurrentContext:m_context];
|
||||
}
|
||||
|
||||
shared_ptr<graphics::RenderContext> RenderContext::createShared()
|
||||
graphics::RenderContext * RenderContext::createShared()
|
||||
{
|
||||
shared_ptr<graphics::RenderContext> res(new RenderContext(this));
|
||||
graphics::RenderContext * res = new RenderContext(this);
|
||||
res->setResourceManager(resourceManager());
|
||||
return res;
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -31,9 +31,9 @@ namespace qt
|
|||
m_context->makeCurrent();
|
||||
}
|
||||
|
||||
shared_ptr<graphics::RenderContext> RenderContext::createShared()
|
||||
graphics::RenderContext * RenderContext::createShared()
|
||||
{
|
||||
shared_ptr<graphics::gl::RenderContext> res(new RenderContext(this));
|
||||
graphics::gl::RenderContext * res = new RenderContext(this);
|
||||
res->setResourceManager(resourceManager());
|
||||
return res;
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ namespace qt
|
|||
/// Make this rendering context current
|
||||
void makeCurrent();
|
||||
|
||||
shared_ptr<graphics::RenderContext> createShared();
|
||||
graphics::RenderContext * createShared();
|
||||
|
||||
/// Leave previous logic, but fix thread widget deletion error.
|
||||
void endThreadDrawing(unsigned threadSlot);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue