1.44.0 breaks API/ABI without transitioning

Bug #1511253 reported by Rico Tzschichholz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gjs (Ubuntu)
Won't Fix
Undecided
Unassigned
Xenial
Won't Fix
Undecided
Unassigned

Bug Description

gjs breaks API/ABI from 1.43.3 to 1.44.0

diff --git a/gi/interface.h b/gi/interface.h
index cdb41ab..70e71a7 100644
--- a/gi/interface.h
+++ b/gi/interface.h
@@ -33,7 +33,9 @@ G_BEGIN_DECLS

 JSBool gjs_define_interface_class (JSContext *context,
                                    JSObject *in_object,
- GIInterfaceInfo *info);
+ GIInterfaceInfo *info,
+ GType gtype,
+ JSObject **constructor_p);

 JSBool gjs_lookup_interface_constructor (JSContext *context,
                                          GType gtype,
diff --git a/gjs/compat.h b/gjs/compat.h
index b5b617f..236ce60 100644
--- a/gjs/compat.h
+++ b/gjs/compat.h
@@ -77,8 +77,8 @@ gjs_##name##_constructor(JSContext *context, \
  * be at the very top.
  */
 #define GJS_NATIVE_CONSTRUCTOR_VARIABLES(name) \
- JSObject *object = NULL; \
- jsval *argv G_GNUC_UNUSED = JS_ARGV(context, vp);
+ JSObject *object = NULL; \
+ JS::CallArgs argv G_GNUC_UNUSED = JS::CallArgsFromVp(argc, vp);

 /**
  * GJS_NATIVE_CONSTRUCTOR_PRELUDE:
@@ -101,7 +101,7 @@ gjs_##name##_constructor(JSContext *context, \
  * successfully.
  */
 #define GJS_NATIVE_CONSTRUCTOR_FINISH(name) \
- JS_SET_RVAL(context, vp, OBJECT_TO_JSVAL(object));
+ argv.rval().set(OBJECT_TO_JSVAL(object));

 /**
  * GJS_NATIVE_CONSTRUCTOR_DEFINE_ABSTRACT:

Revision history for this message
Tim Lunn (darkxst) wrote :

Unblocking, Debian didnt seem interested in bumping soname, and its not a function that is likely to be used externally.

tags: removed: block-proposed
Revision history for this message
Jeremy Bícha (jbicha) wrote :

There's nothing we can really do about this now, so I'm closing this bug.

Changed in gjs (Ubuntu):
status: New → Won't Fix
Changed in gjs (Ubuntu Xenial):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.