diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-09-28 09:06:10 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-09-28 09:26:39 +0200 |
commit | 0067b4df75cdbeb325024cd2b66e3d64fe8b3fcd (patch) | |
tree | 2c1b3bbcc3367eaec0c61ebab10303fa73f05b68 /libreofficekit/source/gtk/tilebuffer.cxx | |
parent | 6a9f985ea698355f38c1681c1eb276f8b9dd859c (diff) |
libreofficekit: fix mismatched free() / delete
Change-Id: I60eb53d4bf9943fd52e0a9d8e3574a7d1cc027e0
Diffstat (limited to 'libreofficekit/source/gtk/tilebuffer.cxx')
-rw-r--r-- | libreofficekit/source/gtk/tilebuffer.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/libreofficekit/source/gtk/tilebuffer.cxx b/libreofficekit/source/gtk/tilebuffer.cxx index 75c3d0d2c5c4..091d33ae7978 100644 --- a/libreofficekit/source/gtk/tilebuffer.cxx +++ b/libreofficekit/source/gtk/tilebuffer.cxx @@ -67,7 +67,7 @@ void TileBuffer::setInvalid(int x, int y, float fZoom, GTask* task, pLOEvent->m_nPaintTileX = x; pLOEvent->m_nPaintTileY = y; pLOEvent->m_fPaintTileZoom = fZoom; - g_task_set_task_data(task, pLOEvent, g_free); + g_task_set_task_data(task, pLOEvent, LOEvent::destroy); g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL); } } @@ -83,7 +83,7 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task, pLOEvent->m_nPaintTileX = x; pLOEvent->m_nPaintTileY = y; pLOEvent->m_fPaintTileZoom = fZoom; - g_task_set_task_data(task, pLOEvent, g_free); + g_task_set_task_data(task, pLOEvent, LOEvent::destroy); g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL); return m_mTiles[index]; } @@ -93,7 +93,7 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task, pLOEvent->m_nPaintTileX = x; pLOEvent->m_nPaintTileY = y; pLOEvent->m_fPaintTileZoom = fZoom; - g_task_set_task_data(task, pLOEvent, g_free); + g_task_set_task_data(task, pLOEvent, LOEvent::destroy); g_thread_pool_push(lokThreadPool, g_object_ref(task), NULL); return m_DummyTile; } @@ -101,5 +101,10 @@ Tile& TileBuffer::getTile(int x, int y, float fZoom, GTask* task, return m_mTiles[index]; } +void LOEvent::destroy(void* pMemory) +{ + LOEvent* pLOEvent = static_cast<LOEvent*>(pMemory); + delete pLOEvent; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |