24 lines
1.1 KiB
Diff
24 lines
1.1 KiB
Diff
diff -up libxklavier-3.7/libxklavier/xklavier_config.c.sax-leak libxklavier-3.7/libxklavier/xklavier_config.c
|
|
--- libxklavier-3.7/libxklavier/xklavier_config.c.sax-leak 2008-09-19 00:25:10.000000000 -0400
|
|
+++ libxklavier-3.7/libxklavier/xklavier_config.c 2008-09-19 00:25:41.000000000 -0400
|
|
@@ -480,15 +480,13 @@ xkl_config_registry_load_from_file(XklCo
|
|
const gchar * file_name)
|
|
{
|
|
xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
|
|
- xmlSAXHandler *saxh = g_new0(xmlSAXHandler, 1);
|
|
xkl_debug(100, "Loading XML registry from file %s\n", file_name);
|
|
|
|
/* Filter out all unneeded languages! */
|
|
- xmlSAX2InitDefaultSAXHandler(saxh, TRUE);
|
|
- saxh->startElementNs = xkl_xml_sax_start_element_ns;
|
|
- saxh->endElementNs = xkl_xml_sax_end_element_ns;
|
|
- saxh->characters = xkl_xml_sax_characters;
|
|
- ctxt->sax = saxh;
|
|
+ xmlSAX2InitDefaultSAXHandler(ctxt->sax, TRUE);
|
|
+ ctxt->sax->startElementNs = xkl_xml_sax_start_element_ns;
|
|
+ ctxt->sax->endElementNs = xkl_xml_sax_end_element_ns;
|
|
+ ctxt->sax->characters = xkl_xml_sax_characters;
|
|
|
|
xkl_config_registry_priv(config, doc) =
|
|
xmlCtxtReadFile(ctxt, file_name, NULL, XML_PARSE_NOBLANKS);
|