Gitweb links:
...log
http://git.netsurf-browser.org/libdom.git/shortlog/c1f2e1c8919ab58000657ac3f10710f558377101
...commit
http://git.netsurf-browser.org/libdom.git/commit/c1f2e1c8919ab58000657ac3f10710f558377101
...tree
http://git.netsurf-browser.org/libdom.git/tree/c1f2e1c8919ab58000657ac3f10710f558377101
The branch, master has been updated
via c1f2e1c8919ab58000657ac3f10710f558377101 (commit)
from 2e03245e39d2a410e251ba373f21e0bd9ce63586 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/libdom.git/commit/?id=c1f2e1c8919ab58000657ac3f10710f558377101
commit c1f2e1c8919ab58000657ac3f10710f558377101
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
dispatch: Do not blindly destroy events
We used to destroy events after dispatching them. The client
*can* hold refs to those events which makes this blind destruction
unsafe. Instead unref them and let the refcnt deal with things.
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/src/events/dispatch.c b/src/events/dispatch.c
index 0e0048d..a8b8ad7 100644
--- a/src/events/dispatch.c
+++ b/src/events/dispatch.c
@@ -56,7 +56,7 @@ dom_exception __dom_dispatch_node_change_event(dom_document
*doc,
goto cleanup;
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -101,7 +101,7 @@ dom_exception
__dom_dispatch_node_change_document_event(dom_document *doc,
goto cleanup;
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -145,7 +145,7 @@ dom_exception
__dom_dispatch_attr_modified_event(dom_document *doc,
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -188,7 +188,7 @@ dom_exception __dom_dispatch_characterdata_modified_event(
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -224,7 +224,7 @@ dom_exception
__dom_dispatch_subtree_modified_event(dom_document *doc,
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -263,7 +263,7 @@ dom_exception _dom_dispatch_generic_event(dom_document *doc,
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
-----------------------------------------------------------------------
Summary of changes:
src/events/dispatch.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/events/dispatch.c b/src/events/dispatch.c
index 0e0048d..a8b8ad7 100644
--- a/src/events/dispatch.c
+++ b/src/events/dispatch.c
@@ -56,7 +56,7 @@ dom_exception __dom_dispatch_node_change_event(dom_document
*doc,
goto cleanup;
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -101,7 +101,7 @@ dom_exception
__dom_dispatch_node_change_document_event(dom_document *doc,
goto cleanup;
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -145,7 +145,7 @@ dom_exception
__dom_dispatch_attr_modified_event(dom_document *doc,
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -188,7 +188,7 @@ dom_exception __dom_dispatch_characterdata_modified_event(
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -224,7 +224,7 @@ dom_exception
__dom_dispatch_subtree_modified_event(dom_document *doc,
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_mutation_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
@@ -263,7 +263,7 @@ dom_exception _dom_dispatch_generic_event(dom_document *doc,
err = dom_event_target_dispatch_event(et, evt, success);
cleanup:
- _dom_event_destroy(evt);
+ dom_event_unref(evt);
return err;
}
--
Document Object Model library
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org