commit 6b6657a9f17838ae96f4992f3aa2b68782eb4431
parent 51e51b47ccc08d7a97b661b66baa8d37cfde5440
Author: Jonathan Boeing <jonathan@claws-mail.org>
Date: Sat, 7 Aug 2021 21:32:28 -0700
Fix clearing local images from litehtml cache
The cache clearing logic was double incrementing for cid: images, going
into an infinite loop if a cid: image was the last one checked
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/plugins/litehtml_viewer/container_linux_images.cpp b/src/plugins/litehtml_viewer/container_linux_images.cpp
@@ -229,11 +229,13 @@ gint container_linux::clear_images(gsize desired_size)
lock_images_cache();
/* First, remove all local images - the ones with "cid:" URL. */
- for (auto i = m_images.begin(); i != m_images.end(); ++i) {
+ for (auto i = m_images.begin(); i != m_images.end(); ) {
if (!strncmp(i->first.c_str(), "cid:", 4)) {
g_object_unref(i->second.first);
i = m_images.erase(i);
num++;
+ } else {
+ ++i;
}
}