Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cjs for openSUSE:Factory checked in 
at 2021-06-04 22:43:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cjs (Old)
 and      /work/SRC/openSUSE:Factory/.cjs.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cjs"

Fri Jun  4 22:43:16 2021 rev:18 rq:897279 version:5.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/cjs/cjs.changes  2021-01-21 21:57:19.121856067 
+0100
+++ /work/SRC/openSUSE:Factory/.cjs.new.1898/cjs.changes        2021-06-04 
22:43:28.603123541 +0200
@@ -1,0 +2,13 @@
+Thu May 27 19:52:13 UTC 2021 - andy great <andythe_gr...@pm.me>
+
+- Update to version 5.0.0.
+  * fix readline build on certain systems
+  * overrides/Gtk: Set BuilderScope in class init
+  * gi/wrapperutils: Move gjs_get_string_id() into resolve()
+    implementations
+  * Revert "arg-cache: Save space by not caching GType"
+  * Fixed error in _init() that prevented GType objects from being
+    created. Improved the regression test, implementing Marco T's
+    feedback.
+
+-------------------------------------------------------------------

Old:
----
  cjs-4.8.2.tar.gz

New:
----
  cjs-5.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cjs.spec ++++++
--- /var/tmp/diff_new_pack.q1pTqM/_old  2021-06-04 22:43:29.011123991 +0200
+++ /var/tmp/diff_new_pack.q1pTqM/_new  2021-06-04 22:43:29.015123995 +0200
@@ -21,10 +21,10 @@
 %define typelib typelib-1_0-CjsPrivate-1_0
 %define __requires_exclude_from ^.*installed-tests.*$
 Name:           cjs
-Version:        4.8.2
+Version:        5.0.0
 Release:        0
 Summary:        JavaScript module used by Cinnamon
-License:        MIT AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later)
+License:        (GPL-2.0-or-later OR MPL-1.1 OR LGPL-2.1-or-later) AND MIT
 Group:          System/GUI/Other
 URL:            https://github.com/linuxmint/cjs
 Source:         
https://github.com/linuxmint/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz

++++++ cjs-4.8.2.tar.gz -> cjs-5.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/NEWS new/cjs-5.0.0/NEWS
--- old/cjs-4.8.2/NEWS  2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/NEWS  2021-05-27 16:01:28.000000000 +0200
@@ -1,3 +1,37 @@
+Version 1.66.2
+--------------
+
+- Performance improvements and crash fixes backported from the development
+  branch.
+
+- Bug fixes enabling use of GTK 4.
+
+- Closed bugs and merge requests:
+
+  * Error in function "_init()" in module "modules/overrides/GObject.js" [#238,
+    !508, Nina Pypchenko]
+  * Revert "arg-cache: Save space by not caching GType" [!512, Jonas Dre??ler]
+  * gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations
+    [!513, Jonas Dre??ler]
+  * overrides/Gtk: Set BuilderScope in class init [!527, Florian M??llner]
+  * fix readline build on certain systems [!543, Jakub Kul??k]
+
+Version 1.66.1
+--------------
+
+- Closed bugs and merge requests:
+
+  * Throws on Unsupported caller allocates [!495, Marco Trevisan]
+  * arg: Fix MIN/MAX safe big integer limits [!492, Marco Trevisan]
+  * Fix leak when virtual function is unimplemented [!498, Evan Welsh]
+  * Cannot compile GJS 1.66.0 on macOS with llvm/clang 10.0.1 [#347, !499,
+    Marc-Antoine Perennou]
+  * console: fix typo in command-line option [!500, Andy Holmes]
+  * Prevent passing null pointers when not nullable [!503, Evan Welsh]
+  * Passing fundamentals to functions no longer works [#353, !506, Evan Welsh]
+
+- Fixed examples/clutter.js to work with more recent Clutter [Philip Chimento]
+
 Version 1.66.0
 --------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/debian/changelog 
new/cjs-5.0.0/debian/changelog
--- old/cjs-4.8.2/debian/changelog      2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/debian/changelog      2021-05-27 16:01:28.000000000 +0200
@@ -1,3 +1,16 @@
+cjs (5.0.0) uma; urgency=medium
+
+  [ Leigh Scott ]
+  * fix readline build on certain systems
+  * overrides/Gtk: Set BuilderScope in class init
+  * gi/wrapperutils: Move gjs_get_string_id() into resolve() implementations
+  * Revert "arg-cache: Save space by not caching GType"
+  * Fixed error in _init() that prevented GType objects from being created. 
Improved the regression test, implementing Marco T's feedback.
+  * Update NEWS for 1.66.1
+  * Update NEWS for 1.66.2
+
+ -- Clement Lefebvre <r...@linuxmint.com>  Thu, 27 May 2021 15:00:53 +0100
+
 cjs (4.8.2) ulyssa; urgency=medium
 
   [ Leigh Scott ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/arg-cache.cpp 
new/cjs-5.0.0/gi/arg-cache.cpp
--- old/cjs-4.8.2/gi/arg-cache.cpp      2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/arg-cache.cpp      2021-05-27 16:01:28.000000000 +0200
@@ -29,7 +29,6 @@
 
 #include <ffi.h>
 #include <girepository.h>
-#include <glib-object.h>
 #include <glib.h>
 
 #include <js/Conversions.h>
@@ -606,7 +605,7 @@
     if (value.isNull())
         return self->handle_nullable(cx, arg);
 
-    GType gtype = g_registered_type_info_get_g_type(self->contents.info);
+    GType gtype = self->contents.object.gtype;
 
     if (!value.isObject())
         return report_gtype_mismatch(cx, self->arg_name, value, gtype);
@@ -619,7 +618,7 @@
 
     return BoxedBase::transfer_to_gi_argument(cx, object, arg, GI_DIRECTION_IN,
                                               self->transfer, gtype,
-                                              self->contents.info);
+                                              self->contents.object.info);
 }
 
 // Unions include ClutterEvent and GdkEvent, which occur fairly often in an
@@ -632,7 +631,7 @@
     if (value.isNull())
         return self->handle_nullable(cx, arg);
 
-    GType gtype = g_registered_type_info_get_g_type(self->contents.info);
+    GType gtype = self->contents.object.gtype;
     g_assert(gtype != G_TYPE_NONE);
 
     if (!value.isObject())
@@ -641,7 +640,7 @@
     JS::RootedObject object(cx, &value.toObject());
     return UnionBase::transfer_to_gi_argument(cx, object, arg, GI_DIRECTION_IN,
                                               self->transfer, gtype,
-                                              self->contents.info);
+                                              self->contents.object.info);
 }
 
 GJS_JSAPI_RETURN_CONVENTION
@@ -684,7 +683,7 @@
     // ownership, so we need to do the same here.
     return BoxedBase::transfer_to_gi_argument(
         cx, object, arg, GI_DIRECTION_IN, GI_TRANSFER_EVERYTHING, G_TYPE_BYTES,
-        self->contents.info);
+        self->contents.object.info);
 }
 
 GJS_JSAPI_RETURN_CONVENTION
@@ -694,7 +693,7 @@
     if (value.isNull())
         return self->handle_nullable(cx, arg);
 
-    GType gtype = g_registered_type_info_get_g_type(self->contents.info);
+    GType gtype = self->contents.object.gtype;
     g_assert(gtype != G_TYPE_NONE);
 
     if (!value.isObject())
@@ -723,7 +722,7 @@
     if (value.isNull())
         return self->handle_nullable(cx, arg);
 
-    GType gtype = g_registered_type_info_get_g_type(self->contents.info);
+    GType gtype = self->contents.object.gtype;
     g_assert(gtype != G_TYPE_NONE);
 
     if (!value.isObject())
@@ -742,7 +741,7 @@
     if (value.isNull())
         return self->handle_nullable(cx, arg);
 
-    GType gtype = g_registered_type_info_get_g_type(self->contents.info);
+    GType gtype = self->contents.object.gtype;
     g_assert(gtype != G_TYPE_NONE);
 
     if (!value.isObject())
@@ -996,7 +995,8 @@
                                          GjsFunctionCallState*,
                                          GIArgument* in_arg,
                                          GIArgument* out_arg [[maybe_unused]]) 
{
-    GType gtype = g_registered_type_info_get_g_type(self->contents.info);
+    GType gtype = self->contents.object.gtype;
+
     g_assert(g_type_is_a(gtype, G_TYPE_BOXED));
 
     if (!gjs_arg_get<void*>(in_arg))
@@ -1007,7 +1007,7 @@
 }
 
 static void gjs_arg_cache_interface_free(GjsArgumentCache* self) {
-    g_clear_pointer(&self->contents.info, g_base_info_unref);
+    g_clear_pointer(&self->contents.object.info, g_base_info_unref);
 }
 
 static const GjsArgumentMarshallers skip_all_marshallers = {
@@ -1403,7 +1403,8 @@
         case GI_INFO_TYPE_INTERFACE:
         case GI_INFO_TYPE_UNION: {
             GType gtype = g_registered_type_info_get_g_type(interface_info);
-            self->contents.info = g_base_info_ref(interface_info);
+            self->contents.object.gtype = gtype;
+            self->contents.object.info = g_base_info_ref(interface_info);
 
             // Transfer handling is a bit complex here, because some of our _in
             // marshallers know not to copy stuff if we don't need to.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/arg-cache.h new/cjs-5.0.0/gi/arg-cache.h
--- old/cjs-4.8.2/gi/arg-cache.h        2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/arg-cache.h        2021-05-27 16:01:28.000000000 +0200
@@ -30,6 +30,7 @@
 #include <stdint.h>
 
 #include <girepository.h>
+#include <glib-object.h>
 #include <glib.h>  // for g_assert
 
 #include <js/RootingAPI.h>
@@ -83,7 +84,10 @@
         } number;
 
         // boxed / union / GObject
-        GIRegisteredTypeInfo* info;
+        struct {
+            GType gtype;
+            GIBaseInfo* info;
+        } object;
 
         // foreign structures
         GIStructInfo* tmp_foreign_info;
@@ -163,7 +167,7 @@
 // if sizeof(GjsArgumentCache) is increased.
 // Note that this check is not applicable for clang-cl builds, as Windows is
 // an LLP64 system
-static_assert(sizeof(GjsArgumentCache) <= 104,
+static_assert(sizeof(GjsArgumentCache) <= 112,
               "Think very hard before increasing the size of GjsArgumentCache. 
"
               "One is allocated for every argument to every introspected "
               "function.");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/boxed.cpp new/cjs-5.0.0/gi/boxed.cpp
--- old/cjs-4.8.2/gi/boxed.cpp  2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/boxed.cpp  2021-05-27 16:01:28.000000000 +0200
@@ -69,11 +69,18 @@
 
 // See GIWrapperBase::resolve().
 bool BoxedPrototype::resolve_impl(JSContext* cx, JS::HandleObject obj,
-                                  JS::HandleId, const char* prop_name,
-                                  bool* resolved) {
+                                  JS::HandleId id, bool* resolved) {
+    JS::UniqueChars prop_name;
+    if (!gjs_get_string_id(cx, id, &prop_name))
+        return false;
+    if (!prop_name) {
+        *resolved = false;
+        return true;  // not resolved, but no error
+    }
+
     // Look for methods and other class properties
     GjsAutoFunctionInfo method_info =
-        g_struct_info_find_method(info(), prop_name);
+        g_struct_info_find_method(info(), prop_name.get());
     if (!method_info) {
         *resolved = false;
         return true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/boxed.h new/cjs-5.0.0/gi/boxed.h
--- old/cjs-4.8.2/gi/boxed.h    2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/boxed.h    2021-05-27 16:01:28.000000000 +0200
@@ -142,7 +142,7 @@
  private:
     GJS_JSAPI_RETURN_CONVENTION
     bool resolve_impl(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
-                      const char* prop_name, bool* resolved);
+                      bool* resolved);
 
     GJS_JSAPI_RETURN_CONVENTION
     bool new_enumerate_impl(JSContext* cx, JS::HandleObject obj,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/function.cpp 
new/cjs-5.0.0/gi/function.cpp
--- old/cjs-4.8.2/gi/function.cpp       2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/function.cpp       2021-05-27 16:01:28.000000000 +0200
@@ -825,13 +825,9 @@
 
         // Callback lifetimes will be attached to the instance object if it is
         // a GObject or GInterface
-        if (cache->contents.info) {
-            GType gtype =
-                g_registered_type_info_get_g_type(cache->contents.info);
-            if (g_type_is_a(gtype, G_TYPE_OBJECT) ||
-                g_type_is_a(gtype, G_TYPE_INTERFACE))
-                state.instance_object = obj;
-        }
+        if (g_type_is_a(cache->contents.object.gtype, G_TYPE_OBJECT) ||
+            g_type_is_a(cache->contents.object.gtype, G_TYPE_INTERFACE))
+            state.instance_object = obj;
     }
 
     unsigned processed_c_args = ffi_arg_pos;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/fundamental.cpp 
new/cjs-5.0.0/gi/fundamental.cpp
--- old/cjs-4.8.2/gi/fundamental.cpp    2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/fundamental.cpp    2021-05-27 16:01:28.000000000 +0200
@@ -142,11 +142,18 @@
 
 // See GIWrapperBase::resolve().
 bool FundamentalPrototype::resolve_impl(JSContext* cx, JS::HandleObject obj,
-                                        JS::HandleId, const char* prop_name,
-                                        bool* resolved) {
+                                        JS::HandleId id, bool* resolved) {
+    JS::UniqueChars prop_name;
+    if (!gjs_get_string_id(cx, id, &prop_name))
+        return false;
+    if (!prop_name) {
+        *resolved = false;
+        return true;  // not resolved, but no error
+    }
+
     /* We are the prototype, so look for methods and other class properties */
     GjsAutoFunctionInfo method_info =
-        g_object_info_find_method(info(), prop_name);
+        g_object_info_find_method(info(), prop_name.get());
 
     if (method_info) {
 #if GJS_VERBOSE_ENABLE_GI_USAGE
@@ -176,7 +183,7 @@
         *resolved = false;
     }
 
-    return resolve_interface(cx, obj, resolved, prop_name);
+    return resolve_interface(cx, obj, resolved, prop_name.get());
 }
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/fundamental.h 
new/cjs-5.0.0/gi/fundamental.h
--- old/cjs-4.8.2/gi/fundamental.h      2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/fundamental.h      2021-05-27 16:01:28.000000000 +0200
@@ -128,7 +128,7 @@
 
     GJS_JSAPI_RETURN_CONVENTION
     bool resolve_impl(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
-                      const char* prop_name, bool* resolved);
+                      bool* resolved);
 
     // Public API
  public:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/interface.cpp 
new/cjs-5.0.0/gi/interface.cpp
--- old/cjs-4.8.2/gi/interface.cpp      2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/interface.cpp      2021-05-27 16:01:28.000000000 +0200
@@ -51,8 +51,7 @@
 
 // See GIWrapperBase::resolve().
 bool InterfacePrototype::resolve_impl(JSContext* context, JS::HandleObject obj,
-                                      JS::HandleId, const char* name,
-                                      bool* resolved) {
+                                      JS::HandleId id, bool* resolved) {
     /* If we have no GIRepository information then this interface was defined
      * from within GJS. In that case, it has no properties that need to be
      * resolved from within C code, as interfaces cannot inherit. */
@@ -61,8 +60,16 @@
         return true;
     }
 
+    JS::UniqueChars prop_name;
+    if (!gjs_get_string_id(context, id, &prop_name))
+        return false;
+    if (!prop_name) {
+        *resolved = false;
+        return true;  // not resolved, but no error
+    }
+
     GjsAutoFunctionInfo method_info =
-        g_interface_info_find_method(m_info, name);
+        g_interface_info_find_method(m_info, prop_name.get());
 
     if (method_info) {
         if (g_function_info_get_flags (method_info) & GI_FUNCTION_IS_METHOD) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/interface.h new/cjs-5.0.0/gi/interface.h
--- old/cjs-4.8.2/gi/interface.h        2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/interface.h        2021-05-27 16:01:28.000000000 +0200
@@ -110,7 +110,7 @@
 
     GJS_JSAPI_RETURN_CONVENTION
     bool resolve_impl(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
-                      const char* name, bool* resolved);
+                      bool* resolved);
 
     // JS methods
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/object.cpp new/cjs-5.0.0/gi/object.cpp
--- old/cjs-4.8.2/gi/object.cpp 2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/object.cpp 2021-05-27 16:01:28.000000000 +0200
@@ -770,14 +770,21 @@
 }
 
 bool ObjectPrototype::resolve_impl(JSContext* context, JS::HandleObject obj,
-                                   JS::HandleId id, const char* name,
-                                   bool* resolved) {
+                                   JS::HandleId id, bool* resolved) {
     if (m_unresolvable_cache.has(id)) {
         *resolved = false;
         return true;
     }
 
-    if (!uncached_resolve(context, obj, id, name, resolved))
+    JS::UniqueChars prop_name;
+    if (!gjs_get_string_id(context, id, &prop_name))
+        return false;
+    if (!prop_name) {
+        *resolved = false;
+        return true;  // not resolved, but no error
+    }
+
+    if (!uncached_resolve(context, obj, id, prop_name.get(), resolved))
         return false;
 
     if (!*resolved && !m_unresolvable_cache.putNew(id)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/object.h new/cjs-5.0.0/gi/object.h
--- old/cjs-4.8.2/gi/object.h   2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/object.h   2021-05-27 16:01:28.000000000 +0200
@@ -293,7 +293,7 @@
  private:
     GJS_JSAPI_RETURN_CONVENTION
     bool resolve_impl(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
-                      const char* prop_name, bool* resolved);
+                      bool* resolved);
 
     GJS_JSAPI_RETURN_CONVENTION
     bool new_enumerate_impl(JSContext* cx, JS::HandleObject obj,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/union.cpp new/cjs-5.0.0/gi/union.cpp
--- old/cjs-4.8.2/gi/union.cpp  2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/union.cpp  2021-05-27 16:01:28.000000000 +0200
@@ -61,11 +61,18 @@
 
 // See GIWrapperBase::resolve().
 bool UnionPrototype::resolve_impl(JSContext* context, JS::HandleObject obj,
-                                  JS::HandleId, const char* prop_name,
-                                  bool* resolved) {
+                                  JS::HandleId id, bool* resolved) {
+    JS::UniqueChars prop_name;
+    if (!gjs_get_string_id(context, id, &prop_name))
+        return false;
+    if (!prop_name) {
+        *resolved = false;
+        return true;  // not resolved, but no error
+    }
+
     // Look for methods and other class properties
     GjsAutoFunctionInfo method_info =
-        g_union_info_find_method(info(), prop_name);
+        g_union_info_find_method(info(), prop_name.get());
 
     if (method_info) {
 #if GJS_VERBOSE_ENABLE_GI_USAGE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/union.h new/cjs-5.0.0/gi/union.h
--- old/cjs-4.8.2/gi/union.h    2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/union.h    2021-05-27 16:01:28.000000000 +0200
@@ -74,7 +74,7 @@
 
     GJS_JSAPI_RETURN_CONVENTION
     bool resolve_impl(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
-                      const char* prop_name, bool* resolved);
+                      bool* resolved);
 
     // Overrides GIWrapperPrototype::constructor_nargs().
     [[nodiscard]] unsigned constructor_nargs(void) const { return 0; }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/gi/wrapperutils.h 
new/cjs-5.0.0/gi/wrapperutils.h
--- old/cjs-4.8.2/gi/wrapperutils.h     2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/gi/wrapperutils.h     2021-05-27 16:01:28.000000000 +0200
@@ -436,18 +436,7 @@
             return true;
         }
 
-        // A GObject-introspection lazy property will always be a string, so
-        // also bail out if trying to resolve an integer or symbol property.
-        JS::UniqueChars prop_name;
-        if (!gjs_get_string_id(cx, id, &prop_name))
-            return false;
-        if (!prop_name) {
-            *resolved = false;
-            return true;  // not resolved, but no error
-        }
-
-        return priv->to_prototype()->resolve_impl(cx, obj, id, prop_name.get(),
-                                                  resolved);
+        return priv->to_prototype()->resolve_impl(cx, obj, id, resolved);
     }
 
     /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/installed-tests/js/testGObject.js 
new/cjs-5.0.0/installed-tests/js/testGObject.js
--- old/cjs-4.8.2/installed-tests/js/testGObject.js     2021-01-12 
12:11:08.000000000 +0100
+++ new/cjs-5.0.0/installed-tests/js/testGObject.js     2021-05-27 
16:01:28.000000000 +0200
@@ -48,3 +48,14 @@
         });
     });
 });
+
+describe('GObject should', function () {
+    const types = ['gpointer', 'GBoxed', 'GParam', 'GInterface', 'GObject', 
'GVariant'];
+
+    types.forEach(type => {
+        it(`be able to create a GType object for ${type}`, function () {
+            const gtype = GObject.Type(type);
+            expect(gtype.name).toEqual(type);
+        });
+    });
+});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/meson.build new/cjs-5.0.0/meson.build
--- old/cjs-4.8.2/meson.build   2021-01-12 12:11:08.000000000 +0100
+++ new/cjs-5.0.0/meson.build   2021-05-27 16:01:28.000000000 +0200
@@ -1,4 +1,4 @@
-project('cjs', 'cpp', 'c', version: '4.8.2', license: ['MIT', 'LGPL2+'],
+project('cjs', 'cpp', 'c', version: '5.0.0', license: ['MIT', 'LGPL2+'],
     meson_version: '>= 0.49.2',
     default_options: ['cpp_std=c++17', 'c_std=c99', 'warning_level=2'])
 
@@ -476,6 +476,10 @@
     endif
 endif
 
+if build_readline
+    libgjs_dependencies += readline_deps
+endif
+
 if build_profiler
     libgjs_dependencies += profiler_deps
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/modules/core/overrides/GObject.js 
new/cjs-5.0.0/modules/core/overrides/GObject.js
--- old/cjs-4.8.2/modules/core/overrides/GObject.js     2021-01-12 
12:11:08.000000000 +0100
+++ new/cjs-5.0.0/modules/core/overrides/GObject.js     2021-05-27 
16:01:28.000000000 +0200
@@ -244,7 +244,7 @@
         let gtype = GObject.type_from_name(gtypeName);
         obj[`TYPE_${upperName}`] = gtype;
         obj[name] = function (v) {
-            return new actual(v);
+            return actual(v);
         };
         obj[name].$gtype = gtype;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cjs-4.8.2/modules/core/overrides/Gtk.js 
new/cjs-5.0.0/modules/core/overrides/Gtk.js
--- old/cjs-4.8.2/modules/core/overrides/Gtk.js 2021-01-12 12:11:08.000000000 
+0100
+++ new/cjs-5.0.0/modules/core/overrides/Gtk.js 2021-05-27 16:01:28.000000000 
+0200
@@ -45,10 +45,7 @@
 
     Gtk.Widget.prototype._init = function (params) {
         if (this.constructor[Gtk.template]) {
-            if (BuilderScope) {
-                Gtk.Widget.set_template_scope.call(this.constructor,
-                    new BuilderScope(this));
-            } else {
+            if (!BuilderScope) {
                 Gtk.Widget.set_connect_func.call(this.constructor,
                     (builder, obj, signalName, handlerName, connectObj, flags) 
=> {
                         const swapped = flags & GObject.ConnectFlags.SWAPPED;
@@ -110,6 +107,9 @@
             } else {
                 Gtk.Widget.set_template.call(klass, template);
             }
+
+            if (BuilderScope)
+                Gtk.Widget.set_template_scope.call(klass, new BuilderScope());
         }
 
         if (children) {
@@ -136,15 +136,11 @@
         BuilderScope = GObject.registerClass({
             Implements: [Gtk.BuilderScope],
         }, class extends GObject.Object {
-            _init(thisArg) {
-                super._init();
-                this._this = thisArg;
-            }
-
             vfunc_create_closure(builder, handlerName, flags, connectObject) {
                 const swapped = flags & Gtk.BuilderClosureFlags.SWAPPED;
                 return _createClosure(
-                    builder, this._this, handlerName, swapped, connectObject);
+                    builder, builder.get_current_object(),
+                    handlerName, swapped, connectObject);
             }
         });
     }

Reply via email to