[Issue#] N/A
[Problem] web-provider is crashed during removing dynamic box
[Cause] invalid window object tried to be hided on removing dynamic box
[Solution] valid window object is only hided by web-provider
Change-Id: Ib6b99552de28f5bb48f077aa8ed94d4c742cb559
: m_bufferAddr(NULL)
, m_bufferInfo(NULL)
{
: m_bufferAddr(NULL)
, m_bufferInfo(NULL)
{
}
RenderBuffer::~RenderBuffer()
{
}
RenderBuffer::~RenderBuffer()
{
}
bool RenderBuffer::allocate()
}
bool RenderBuffer::allocate()
throw; //exception throw!
}
throw; //exception throw!
}
- evas_object_show(m_boxWin);
m_renderBuffer = AppBoxObserver::Instance()->getRenderBuffer(m_instanceId);
m_pdFastOpen = web_provider_livebox_get_pd_fast_open(m_boxId.c_str()) ? true : false;
AppBoxObserver::Instance()->registerRenderView(m_instanceId, this);
m_renderBuffer = AppBoxObserver::Instance()->getRenderBuffer(m_instanceId);
m_pdFastOpen = web_provider_livebox_get_pd_fast_open(m_boxId.c_str()) ? true : false;
AppBoxObserver::Instance()->registerRenderView(m_instanceId, this);
AppBoxRenderView::~AppBoxRenderView()
{
LogD("enter");
AppBoxRenderView::~AppBoxRenderView()
{
LogD("enter");
- if (m_boxWin) {
- evas_object_hide(m_boxWin);
- }
AppBoxObserver::Instance()->unregisterRenderView(m_instanceId);
}
AppBoxObserver::Instance()->unregisterRenderView(m_instanceId);
}
+ if (!m_boxWin) {
+ return;
+ }
+
// stop updating render buffer
m_renderBuffer->stopCanvasUpdate();
clearSnapShot();
// stop updating render buffer
m_renderBuffer->stopCanvasUpdate();
clearSnapShot();
renderInfo->width,
renderInfo->height);
renderInfo->width,
renderInfo->height);
+
+ evas_object_show(m_boxWin);
m_boxWrt->Show();
m_renderInfo = renderInfo;
}
m_boxWrt->Show();
m_renderInfo = renderInfo;
}
deleteRenderTimer();
destroyWrtCore(m_boxWrt);
m_boxWrt.reset();
deleteRenderTimer();
destroyWrtCore(m_boxWrt);
m_boxWrt.reset();
// temp
m_boxWrt_isSuspended = false;
}
// temp
m_boxWrt_isSuspended = false;
}
{
LogD("enter");
destroyBoxWrtCore();
{
LogD("enter");
destroyBoxWrtCore();
+ if (m_boxWin) {
+ evas_object_hide(m_boxWin);
+ m_boxWin = NULL;
+ }
}
void AppBoxRenderView::pauseBox()
}
void AppBoxRenderView::pauseBox()
+ if (!pdWin) {
+ return;
+ }
+
// create pd helper
std::string pdStartUrl = getStartUrl(URL_TYPE_PD, renderInfo->defaultUrlParams);
if (m_pdFastOpen) {
// create pd helper
std::string pdStartUrl = getStartUrl(URL_TYPE_PD, renderInfo->defaultUrlParams);
if (m_pdFastOpen) {