mirror of
https://github.com/YACReader/yacreader
synced 2025-06-03 17:18:23 -04:00
Wait for all threads to finish rendering before deleting the filters, otherwise any PageRender could try to use a filter after deleting it.
This is clear example of the risks of sharing raw pointers, the code should be using share_ptr.
This commit is contained in:
parent
da8856d271
commit
936dd63d4c
@ -421,15 +421,16 @@ Render::~Render()
|
|||||||
comic->deleteLater();
|
comic->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(ImageFilter * filter, filters)
|
|
||||||
delete filter;
|
|
||||||
|
|
||||||
foreach(PageRender * pr,pageRenders)
|
foreach(PageRender * pr,pageRenders)
|
||||||
if(pr !=0)
|
if(pr !=0)
|
||||||
{
|
{
|
||||||
if(pr->wait())
|
if(pr->wait())
|
||||||
delete pr;
|
delete pr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO move to share_ptr
|
||||||
|
foreach(ImageFilter * filter, filters)
|
||||||
|
delete filter;
|
||||||
}
|
}
|
||||||
//Este método se encarga de forzar el renderizado de las páginas.
|
//Este método se encarga de forzar el renderizado de las páginas.
|
||||||
//Actualiza el buffer según es necesario.
|
//Actualiza el buffer según es necesario.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user