Properly free previous document from memory in litehtml's clear()

We also call paint_white() earlier in redraw().
This results in properly clearing the previously
rendered html content when opening a different
HTML part.
This commit is contained in:
Andrej Kacian 2019-01-29 21:47:53 +01:00
parent b31dc41035
commit 03d8afe967

View file

@ -240,10 +240,10 @@ void lh_widget::redraw()
GdkWindow *gdkwin;
cairo_t *cr;
if (m_html == NULL) {
g_warning("lh_widget::redraw: No document!");
paint_white();
if (m_html == NULL)
return;
}
/* Get width of the viewport. */
gdkwin = gtk_viewport_get_view_window(GTK_VIEWPORT(m_viewport));
@ -269,8 +269,6 @@ void lh_widget::redraw()
m_html->width(), m_html->height());
}
paint_white();
/* Paint the rendered HTML. */
gdkwin = gtk_widget_get_window(m_drawing_area);
if (gdkwin == NULL) {
@ -303,6 +301,7 @@ void lh_widget::paint_white()
}
void lh_widget::clear()
{
m_html = nullptr;
paint_white();
m_rendered_width = 0;
}