forked from enlightenment/efl
Add code to delete the shm pool when we destroy the swapper.
Signed-off-by: Christopher Michael <cp.michael@samsung.com> SVN revision: 83291
This commit is contained in:
parent
76dea59613
commit
b8a9d67c88
|
@ -42,6 +42,7 @@ struct _Wl_Swapper
|
||||||
|
|
||||||
/* local function prototypes */
|
/* local function prototypes */
|
||||||
static Eina_Bool _evas_swapper_shm_pool_new(Wl_Swapper *ws);
|
static Eina_Bool _evas_swapper_shm_pool_new(Wl_Swapper *ws);
|
||||||
|
static void _evas_swapper_shm_pool_free(Wl_Swapper *ws);
|
||||||
static Eina_Bool _evas_swapper_buffer_new(Wl_Swapper *ws, Wl_Buffer *wb);
|
static Eina_Bool _evas_swapper_buffer_new(Wl_Swapper *ws, Wl_Buffer *wb);
|
||||||
static void _evas_swapper_buffer_free(Wl_Buffer *wb);
|
static void _evas_swapper_buffer_free(Wl_Buffer *wb);
|
||||||
static void _evas_swapper_buffer_put(Wl_Swapper *ws, Wl_Buffer *wb, Eina_Rectangle *rects, unsigned int count);
|
static void _evas_swapper_buffer_put(Wl_Swapper *ws, Wl_Buffer *wb, Eina_Rectangle *rects, unsigned int count);
|
||||||
|
@ -137,6 +138,9 @@ evas_swapper_free(Wl_Swapper *ws)
|
||||||
for (i = 0; i < ws->buff_num; i++)
|
for (i = 0; i < ws->buff_num; i++)
|
||||||
_evas_swapper_buffer_free(&(ws->buff[i]));
|
_evas_swapper_buffer_free(&(ws->buff[i]));
|
||||||
|
|
||||||
|
/* free the shm pool */
|
||||||
|
_evas_swapper_shm_pool_free(ws);
|
||||||
|
|
||||||
/* free the allocated structure */
|
/* free the allocated structure */
|
||||||
free(ws);
|
free(ws);
|
||||||
}
|
}
|
||||||
|
@ -269,6 +273,22 @@ _evas_swapper_shm_pool_new(Wl_Swapper *ws)
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_evas_swapper_shm_pool_free(Wl_Swapper *ws)
|
||||||
|
{
|
||||||
|
/* check for valid swapper */
|
||||||
|
if (!ws) return;
|
||||||
|
|
||||||
|
/* check for valid pool */
|
||||||
|
if (!ws->pool) return;
|
||||||
|
|
||||||
|
/* unmap any existing data */
|
||||||
|
if (ws->data) munmap(ws->data, ws->pool_size);
|
||||||
|
|
||||||
|
/* destroy the shm pool */
|
||||||
|
wl_shm_pool_destroy(ws->pool);
|
||||||
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_evas_swapper_buffer_new(Wl_Swapper *ws, Wl_Buffer *wb)
|
_evas_swapper_buffer_new(Wl_Swapper *ws, Wl_Buffer *wb)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue