mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
[document] Try to free memory of document->dom in document_done
This commit is contained in:
parent
e8653c1480
commit
201a61b14f
@ -59,6 +59,11 @@
|
|||||||
#include "document/html/renderer.h"
|
#include "document/html/renderer.h"
|
||||||
#include "document/options.h"
|
#include "document/options.h"
|
||||||
#include "document/refresh.h"
|
#include "document/refresh.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_ECMASCRIPT
|
||||||
|
#include "ecmascript/spidermonkey.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "main/module.h"
|
#include "main/module.h"
|
||||||
#include "main/object.h"
|
#include "main/object.h"
|
||||||
#include "network/dns.h"
|
#include "network/dns.h"
|
||||||
@ -249,6 +254,7 @@ done_document(struct document *document)
|
|||||||
free_string_list(&document->onload_snippets);
|
free_string_list(&document->onload_snippets);
|
||||||
free_uri_list(&document->ecmascript_imports);
|
free_uri_list(&document->ecmascript_imports);
|
||||||
kill_timer(&document->timeout);
|
kill_timer(&document->timeout);
|
||||||
|
free_document(document->dom);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
free_list(document->tags);
|
free_list(document->tags);
|
||||||
|
@ -426,6 +426,16 @@ spidermonkey_check_for_exception(JSContext *ctx) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
free_document(void *doc)
|
||||||
|
{
|
||||||
|
if (!doc) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
xmlpp::Document *docu = doc;
|
||||||
|
delete docu;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
delayed_reload(void *data)
|
delayed_reload(void *data)
|
||||||
{
|
{
|
||||||
@ -433,8 +443,7 @@ delayed_reload(void *data)
|
|||||||
|
|
||||||
assert(rel);
|
assert(rel);
|
||||||
doc_rerender_after_document_update(rel->ses);
|
doc_rerender_after_document_update(rel->ses);
|
||||||
xmlpp::Document *docu = rel->doc;
|
free_document(rel->doc);
|
||||||
delete docu;
|
|
||||||
mem_free(rel);
|
mem_free(rel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,5 +21,7 @@ int spidermonkey_eval_boolback(struct ecmascript_interpreter *interpreter, struc
|
|||||||
|
|
||||||
void spidermonkey_call_function(struct ecmascript_interpreter *interpreter, JS::HandleValue fun, struct string *ret);
|
void spidermonkey_call_function(struct ecmascript_interpreter *interpreter, JS::HandleValue fun, struct string *ret);
|
||||||
|
|
||||||
|
void free_document(void *doc);
|
||||||
|
|
||||||
extern struct module spidermonkey_module;
|
extern struct module spidermonkey_module;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user