[yelp/gnome-3-38] mallard-document: fix crash when reloading document
- From: Shaun McCance <shaunm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [yelp/gnome-3-38] mallard-document: fix crash when reloading document
- Date: Tue, 10 Nov 2020 16:45:09 +0000 (UTC)
commit 2f57360b01aa72c43c6f3242b5c0d1810b9a193b
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Thu Oct 29 14:21:19 2020 -0500
mallard-document: fix crash when reloading document
libxml memory management is quite uncleary, but I believe priv->cache
has ownership of priv->mallard_ns, so the later is invalidated when the
former is freed. We need to recreate it here.
Reportedly fixes #122 for Shaun. (I was still seeing another crash, but
it's probably a separate issue.)
libyelp/yelp-mallard-document.c | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/libyelp/yelp-mallard-document.c b/libyelp/yelp-mallard-document.c
index f417a361..6a5b643c 100644
--- a/libyelp/yelp-mallard-document.c
+++ b/libyelp/yelp-mallard-document.c
@@ -1168,6 +1168,7 @@ mallard_monitor_changed (GFileMonitor *monitor,
xmlFreeDoc (priv->cache);
priv->cache = xmlNewDoc (BAD_CAST "1.0");
priv->cache_ns = xmlNewNs (NULL, CACHE_NS, BAD_CAST "cache");
+ priv->mallard_ns = xmlNewNs (NULL, MALLARD_NS, BAD_CAST "mal");
cur = xmlNewDocNode (priv->cache, priv->cache_ns, BAD_CAST "cache", NULL);
xmlDocSetRootElement (priv->cache, cur);
priv->cache_ns->next = priv->mallard_ns;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]