[gjs] Correct the signature of finalizers
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs] Correct the signature of finalizers
- Date: Tue, 7 May 2013 17:01:49 +0000 (UTC)
commit 4d8c5135c653b074f7fb5f2cb335788498246af4
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu Apr 11 16:02:35 2013 -0400
Correct the signature of finalizers
With the context mostly unused, we can finally correct this.
Additionally, fix up the one or two places that still use a
context.
https://bugzilla.gnome.org/show_bug.cgi?id=697838
gi/boxed.c | 4 ++--
gi/function.c | 4 ++--
gi/gerror.c | 4 ++--
gi/gtype.c | 4 ++--
gi/interface.c | 4 ++--
gi/keep-alive.c | 4 ++--
gi/ns.c | 4 ++--
gi/object.c | 16 ++++++++++------
gi/param.c | 4 ++--
gi/repo.c | 4 ++--
gi/union.c | 4 ++--
gjs/byteArray.c | 6 +++---
gjs/importer.c | 4 ++--
gjs/jsapi-util.h | 2 +-
modules/cairo-context.c | 4 ++--
modules/cairo-gradient.c | 6 +++---
modules/cairo-image-surface.c | 6 +++---
modules/cairo-linear-gradient.c | 6 +++---
modules/cairo-path.c | 4 ++--
modules/cairo-pattern.c | 14 +++++++-------
modules/cairo-pdf-surface.c | 6 +++---
modules/cairo-private.h | 4 ++--
modules/cairo-ps-surface.c | 6 +++---
modules/cairo-radial-gradient.c | 6 +++---
modules/cairo-solid-pattern.c | 6 +++---
modules/cairo-surface-pattern.c | 6 +++---
modules/cairo-surface.c | 14 +++++++-------
modules/cairo-svg-surface.c | 6 +++---
28 files changed, 83 insertions(+), 79 deletions(-)
---
diff --git a/gi/boxed.c b/gi/boxed.c
index 9eb8d35..47857e6 100644
--- a/gi/boxed.c
+++ b/gi/boxed.c
@@ -508,8 +508,8 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(boxed)
}
static void
-boxed_finalize(JSContext *context,
- JSObject *obj)
+boxed_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Boxed *priv;
diff --git a/gi/function.c b/gi/function.c
index ff34eed..b23c894 100644
--- a/gi/function.c
+++ b/gi/function.c
@@ -1224,8 +1224,8 @@ uninit_cached_function_data (Function *function)
}
static void
-function_finalize(JSContext *context,
- JSObject *obj)
+function_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Function *priv;
diff --git a/gi/gerror.c b/gi/gerror.c
index 02e0df5..329a07b 100644
--- a/gi/gerror.c
+++ b/gi/gerror.c
@@ -130,8 +130,8 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(error)
}
static void
-error_finalize(JSContext *context,
- JSObject *obj)
+error_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Error *priv;
diff --git a/gi/gtype.c b/gi/gtype.c
index f04ca34..850b926 100644
--- a/gi/gtype.c
+++ b/gi/gtype.c
@@ -49,8 +49,8 @@ gjs_get_gtype_wrapper_quark(void)
}
static void
-gjs_gtype_finalize(JSContext *context,
- JSObject *obj)
+gjs_gtype_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
GType gtype = GPOINTER_TO_SIZE(JS_GetPrivate(obj));
diff --git a/gi/interface.c b/gi/interface.c
index 37f8100..b4f1907 100644
--- a/gi/interface.c
+++ b/gi/interface.c
@@ -47,8 +47,8 @@ GJS_DEFINE_PRIV_FROM_JS(Interface, gjs_interface_class)
GJS_NATIVE_CONSTRUCTOR_DEFINE_ABSTRACT(interface)
static void
-interface_finalize(JSContext *context,
- JSObject *obj)
+interface_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Interface *priv;
diff --git a/gi/keep-alive.c b/gi/keep-alive.c
index 1dada57..415023f 100644
--- a/gi/keep-alive.c
+++ b/gi/keep-alive.c
@@ -82,8 +82,8 @@ child_free(void *data)
GJS_NATIVE_CONSTRUCTOR_DEFINE_ABSTRACT(keep_alive)
static void
-keep_alive_finalize(JSContext *context,
- JSObject *obj)
+keep_alive_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
KeepAlive *priv;
void *key;
diff --git a/gi/ns.c b/gi/ns.c
index 23d0db0..33aec80 100644
--- a/gi/ns.c
+++ b/gi/ns.c
@@ -129,8 +129,8 @@ ns_new_resolve(JSContext *context,
GJS_NATIVE_CONSTRUCTOR_DEFINE_ABSTRACT(ns)
static void
-ns_finalize(JSContext *context,
- JSObject *obj)
+ns_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Ns *priv;
diff --git a/gi/object.c b/gi/object.c
index a832a2d..17c981f 100644
--- a/gi/object.c
+++ b/gi/object.c
@@ -1329,7 +1329,7 @@ object_instance_trace(JSTracer *tracer,
}
static void
-object_instance_finalize(JSContext *context,
+object_instance_finalize(JSFreeOp *fop,
JSObject *obj)
{
ObjectInstance *priv;
@@ -1366,7 +1366,7 @@ object_instance_finalize(JSContext *context,
set_js_obj(priv->gobj, NULL);
g_object_remove_toggle_ref(priv->gobj, wrapped_gobj_toggle_notify,
- JS_GetRuntime(context));
+ fop->runtime);
priv->gobj = NULL;
}
@@ -1386,10 +1386,14 @@ object_instance_finalize(JSContext *context,
* into jsapi, but we have to do this or the keep alive could
* be finalized later and call gobj_no_longer_kept_alive_func.
*/
- gjs_keep_alive_remove_child(context, priv->keep_alive,
- gobj_no_longer_kept_alive_func,
- obj,
- priv);
+ {
+ JSContext *context = JS_NewContext(fop->runtime, 8192);
+ gjs_keep_alive_remove_child(context, priv->keep_alive,
+ gobj_no_longer_kept_alive_func,
+ obj,
+ priv);
+ JS_DestroyContext(context);
+ }
}
if (priv->info) {
diff --git a/gi/param.c b/gi/param.c
index b58f7da..3c58f04 100644
--- a/gi/param.c
+++ b/gi/param.c
@@ -159,8 +159,8 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(param)
}
static void
-param_finalize(JSContext *context,
- JSObject *obj)
+param_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Param *priv;
diff --git a/gi/repo.c b/gi/repo.c
index 0bd4a75..24d10ae 100644
--- a/gi/repo.c
+++ b/gi/repo.c
@@ -200,8 +200,8 @@ repo_new_resolve(JSContext *context,
GJS_NATIVE_CONSTRUCTOR_DEFINE_ABSTRACT(repo)
static void
-repo_finalize(JSContext *context,
- JSObject *obj)
+repo_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Repo *priv;
diff --git a/gi/union.c b/gi/union.c
index 8ae46d0..0f338d5 100644
--- a/gi/union.c
+++ b/gi/union.c
@@ -254,8 +254,8 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(union)
}
static void
-union_finalize(JSContext *context,
- JSObject *obj)
+union_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Union *priv;
diff --git a/gjs/byteArray.c b/gjs/byteArray.c
index 25bebdd..f8d189c 100644
--- a/gjs/byteArray.c
+++ b/gjs/byteArray.c
@@ -55,7 +55,7 @@ static JSBool byte_array_new_resolve (JSContext *context,
unsigned flags,
JSObject **objp);
GJS_NATIVE_CONSTRUCTOR_DECLARE(byte_array);
-static void byte_array_finalize (JSContext *context,
+static void byte_array_finalize (JSFreeOp *fop,
JSObject *obj);
@@ -459,8 +459,8 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(byte_array)
}
static void
-byte_array_finalize(JSContext *context,
- JSObject *obj)
+byte_array_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
ByteArrayInstance *priv;
diff --git a/gjs/importer.c b/gjs/importer.c
index f24e360..6fa0723 100644
--- a/gjs/importer.c
+++ b/gjs/importer.c
@@ -969,8 +969,8 @@ importer_new_resolve(JSContext *context,
GJS_NATIVE_CONSTRUCTOR_DEFINE_ABSTRACT(importer)
static void
-importer_finalize(JSContext *context,
- JSObject *obj)
+importer_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
Importer *priv;
diff --git a/gjs/jsapi-util.h b/gjs/jsapi-util.h
index 4d21cdf..62cffed 100644
--- a/gjs/jsapi-util.h
+++ b/gjs/jsapi-util.h
@@ -129,7 +129,7 @@ _GJS_DEFINE_PROTO_FULL(tn, cn, NULL)
#define _GJS_DEFINE_PROTO_FULL(type_name, cname, ctor) \
static JSPropertySpec gjs_##cname##_proto_props[]; \
static JSFunctionSpec gjs_##cname##_proto_funcs[]; \
-static void gjs_##cname##_finalize(JSContext *context, JSObject *obj); \
+static void gjs_##cname##_finalize(JSFreeOp *fop, JSObject *obj); \
static JSBool gjs_##cname##_new_resolve(JSContext *context, \
JSObject *obj, \
jsval id, \
diff --git a/modules/cairo-context.c b/modules/cairo-context.c
index 1879be2..25c6b70 100644
--- a/modules/cairo-context.c
+++ b/modules/cairo-context.c
@@ -305,8 +305,8 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_context)
}
static void
-gjs_cairo_context_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_context_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
GjsCairoContext *priv;
priv = JS_GetPrivate(obj);
diff --git a/modules/cairo-gradient.c b/modules/cairo-gradient.c
index b55c852..b00f18a 100644
--- a/modules/cairo-gradient.c
+++ b/modules/cairo-gradient.c
@@ -30,10 +30,10 @@
GJS_DEFINE_PROTO_ABSTRACT("CairoGradient", cairo_gradient)
static void
-gjs_cairo_gradient_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_gradient_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_pattern_finalize_pattern(context, obj);
+ gjs_cairo_pattern_finalize_pattern(fop, obj);
}
/* Properties */
diff --git a/modules/cairo-image-surface.c b/modules/cairo-image-surface.c
index c0d6f05..6a55960 100644
--- a/modules/cairo-image-surface.c
+++ b/modules/cairo-image-surface.c
@@ -58,10 +58,10 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_image_surface)
}
static void
-gjs_cairo_image_surface_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_image_surface_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_surface_finalize_surface(context, obj);
+ gjs_cairo_surface_finalize_surface(fop, obj);
}
static JSPropertySpec gjs_cairo_image_surface_proto_props[] = {
diff --git a/modules/cairo-linear-gradient.c b/modules/cairo-linear-gradient.c
index 23e72a8..7553314 100644
--- a/modules/cairo-linear-gradient.c
+++ b/modules/cairo-linear-gradient.c
@@ -58,10 +58,10 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_linear_gradient)
}
static void
-gjs_cairo_linear_gradient_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_linear_gradient_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_pattern_finalize_pattern(context, obj);
+ gjs_cairo_pattern_finalize_pattern(fop, obj);
}
static JSPropertySpec gjs_cairo_linear_gradient_proto_props[] = {
diff --git a/modules/cairo-path.c b/modules/cairo-path.c
index 48435fd..a0f00ed 100644
--- a/modules/cairo-path.c
+++ b/modules/cairo-path.c
@@ -37,8 +37,8 @@ GJS_DEFINE_PROTO_ABSTRACT("CairoPath", cairo_path)
GJS_DEFINE_PRIV_FROM_JS(GjsCairoPath, gjs_cairo_path_class)
static void
-gjs_cairo_path_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_path_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
GjsCairoPath *priv;
priv = JS_GetPrivate(obj);
diff --git a/modules/cairo-pattern.c b/modules/cairo-pattern.c
index 63eb9a3..4b0d0bd 100644
--- a/modules/cairo-pattern.c
+++ b/modules/cairo-pattern.c
@@ -38,8 +38,8 @@ GJS_DEFINE_PROTO_ABSTRACT("CairoPattern", cairo_pattern)
GJS_DEFINE_PRIV_FROM_JS(GjsCairoPattern, gjs_cairo_pattern_class)
static void
-gjs_cairo_pattern_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_pattern_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
GjsCairoPattern *priv;
priv = JS_GetPrivate(obj);
@@ -123,7 +123,7 @@ gjs_cairo_pattern_construct(JSContext *context,
/**
* gjs_cairo_pattern_finalize:
- * @context: the context
+ * @fop: the free op
* @object: object to finalize
*
* Destroys the resources associated with a pattern wrapper.
@@ -132,13 +132,13 @@ gjs_cairo_pattern_construct(JSContext *context,
*/
void
-gjs_cairo_pattern_finalize_pattern(JSContext *context,
- JSObject *object)
+gjs_cairo_pattern_finalize_pattern(JSFreeOp *fop,
+ JSObject *object)
{
- g_return_if_fail(context != NULL);
+ g_return_if_fail(fop != NULL);
g_return_if_fail(object != NULL);
- gjs_cairo_pattern_finalize(context, object);
+ gjs_cairo_pattern_finalize(fop, object);
}
/**
diff --git a/modules/cairo-pdf-surface.c b/modules/cairo-pdf-surface.c
index 5380e24..dd7506d 100644
--- a/modules/cairo-pdf-surface.c
+++ b/modules/cairo-pdf-surface.c
@@ -65,10 +65,10 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_pdf_surface)
}
static void
-gjs_cairo_pdf_surface_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_pdf_surface_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_surface_finalize_surface(context, obj);
+ gjs_cairo_surface_finalize_surface(fop, obj);
}
static JSPropertySpec gjs_cairo_pdf_surface_proto_props[] = {
diff --git a/modules/cairo-private.h b/modules/cairo-private.h
index a1ca1ec..6edfb6d 100644
--- a/modules/cairo-private.h
+++ b/modules/cairo-private.h
@@ -59,7 +59,7 @@ jsval gjs_cairo_surface_create_proto (JSContext *contex
void gjs_cairo_surface_construct (JSContext *context,
JSObject *object,
cairo_surface_t *surface);
-void gjs_cairo_surface_finalize_surface (JSContext *context,
+void gjs_cairo_surface_finalize_surface (JSFreeOp *fop,
JSObject *object);
JSObject * gjs_cairo_surface_from_surface (JSContext *context,
cairo_surface_t *surface);
@@ -114,7 +114,7 @@ jsval gjs_cairo_pattern_create_proto (JSContext *contex
void gjs_cairo_pattern_construct (JSContext *context,
JSObject *object,
cairo_pattern_t *pattern);
-void gjs_cairo_pattern_finalize_pattern (JSContext *context,
+void gjs_cairo_pattern_finalize_pattern (JSFreeOp *fop,
JSObject *object);
JSObject* gjs_cairo_pattern_from_pattern (JSContext *context,
cairo_pattern_t *pattern);
diff --git a/modules/cairo-ps-surface.c b/modules/cairo-ps-surface.c
index 19072da..345eede 100644
--- a/modules/cairo-ps-surface.c
+++ b/modules/cairo-ps-surface.c
@@ -65,10 +65,10 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_ps_surface)
}
static void
-gjs_cairo_ps_surface_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_ps_surface_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_surface_finalize_surface(context, obj);
+ gjs_cairo_surface_finalize_surface(fop, obj);
}
static JSPropertySpec gjs_cairo_ps_surface_proto_props[] = {
diff --git a/modules/cairo-radial-gradient.c b/modules/cairo-radial-gradient.c
index 544040f..516ff33 100644
--- a/modules/cairo-radial-gradient.c
+++ b/modules/cairo-radial-gradient.c
@@ -60,10 +60,10 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_radial_gradient)
}
static void
-gjs_cairo_radial_gradient_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_radial_gradient_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_pattern_finalize_pattern(context, obj);
+ gjs_cairo_pattern_finalize_pattern(fop, obj);
}
static JSPropertySpec gjs_cairo_radial_gradient_proto_props[] = {
diff --git a/modules/cairo-solid-pattern.c b/modules/cairo-solid-pattern.c
index 879d446..5daea52 100644
--- a/modules/cairo-solid-pattern.c
+++ b/modules/cairo-solid-pattern.c
@@ -30,10 +30,10 @@
GJS_DEFINE_PROTO_ABSTRACT("CairoSolidPattern", cairo_solid_pattern)
static void
-gjs_cairo_solid_pattern_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_solid_pattern_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_pattern_finalize_pattern(context, obj);
+ gjs_cairo_pattern_finalize_pattern(fop, obj);
}
static JSPropertySpec gjs_cairo_solid_pattern_proto_props[] = {
diff --git a/modules/cairo-surface-pattern.c b/modules/cairo-surface-pattern.c
index 9eca2b8..66dd50f 100644
--- a/modules/cairo-surface-pattern.c
+++ b/modules/cairo-surface-pattern.c
@@ -63,10 +63,10 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_surface_pattern)
static void
-gjs_cairo_surface_pattern_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_surface_pattern_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_pattern_finalize_pattern(context, obj);
+ gjs_cairo_pattern_finalize_pattern(fop, obj);
}
static JSPropertySpec gjs_cairo_surface_pattern_proto_props[] = {
diff --git a/modules/cairo-surface.c b/modules/cairo-surface.c
index 7d3044a..5f4d7a8 100644
--- a/modules/cairo-surface.c
+++ b/modules/cairo-surface.c
@@ -38,8 +38,8 @@ GJS_DEFINE_PROTO_ABSTRACT("CairoSurface", cairo_surface)
GJS_DEFINE_PRIV_FROM_JS(GjsCairoSurface, gjs_cairo_surface_class)
static void
-gjs_cairo_surface_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_surface_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
GjsCairoSurface *priv;
priv = JS_GetPrivate(obj);
@@ -161,7 +161,7 @@ gjs_cairo_surface_construct(JSContext *context,
/**
* gjs_cairo_surface_finalize:
- * @context: the context
+ * @fop: the free op
* @object: object to finalize
*
* Destroys the resources associated with a surface wrapper.
@@ -169,13 +169,13 @@ gjs_cairo_surface_construct(JSContext *context,
* This is mainly used for subclasses.
*/
void
-gjs_cairo_surface_finalize_surface(JSContext *context,
- JSObject *object)
+gjs_cairo_surface_finalize_surface(JSFreeOp *fop,
+ JSObject *object)
{
- g_return_if_fail(context != NULL);
+ g_return_if_fail(fop != NULL);
g_return_if_fail(object != NULL);
- gjs_cairo_surface_finalize(context, object);
+ gjs_cairo_surface_finalize(fop, object);
}
/**
diff --git a/modules/cairo-svg-surface.c b/modules/cairo-svg-surface.c
index cca746d..3d37d99 100644
--- a/modules/cairo-svg-surface.c
+++ b/modules/cairo-svg-surface.c
@@ -65,10 +65,10 @@ GJS_NATIVE_CONSTRUCTOR_DECLARE(cairo_svg_surface)
}
static void
-gjs_cairo_svg_surface_finalize(JSContext *context,
- JSObject *obj)
+gjs_cairo_svg_surface_finalize(JSFreeOp *fop,
+ JSObject *obj)
{
- gjs_cairo_surface_finalize_surface(context, obj);
+ gjs_cairo_surface_finalize_surface(fop, obj);
}
static JSPropertySpec gjs_cairo_svg_surface_proto_props[] = {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]