Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gjs for openSUSE:Factory checked in 
at 2021-01-15 19:44:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gjs (Old)
 and      /work/SRC/openSUSE:Factory/.gjs.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gjs"

Fri Jan 15 19:44:46 2021 rev:93 rq:862316 version:1.66.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gjs/gjs.changes  2020-11-23 10:28:16.521213162 
+0100
+++ /work/SRC/openSUSE:Factory/.gjs.new.28504/gjs.changes       2021-01-15 
19:44:56.977907604 +0100
@@ -1,0 +2,16 @@
+Sun Jan 10 11:28:08 UTC 2021 - Bj??rn Lie <bjorn....@gmail.com>
+
+- Update to 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"
+    - Revert "arg-cache: Save space by not caching GType"
+    - gi/wrapperutils: Move gjs_get_string_id() into resolve()
+      implementations
+    - overrides/Gtk: Set BuilderScope in class init
+    - Fix readline build on certain systems
+
+-------------------------------------------------------------------

Old:
----
  gjs-1.66.1.tar.xz

New:
----
  gjs-1.66.2.tar.xz

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

Other differences:
------------------
++++++ gjs.spec ++++++
--- /var/tmp/diff_new_pack.Rthp62/_old  2021-01-15 19:44:57.633908581 +0100
+++ /var/tmp/diff_new_pack.Rthp62/_new  2021-01-15 19:44:57.637908587 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package gjs
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           gjs
-Version:        1.66.1
+Version:        1.66.2
 Release:        0
 Summary:        JavaScript bindings based on gobject-introspection and Mozilla
 License:        MIT AND LGPL-2.0-or-later

++++++ gjs-1.66.1.tar.xz -> gjs-1.66.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.66.1/NEWS new/gjs-1.66.2/NEWS
--- old/gjs-1.66.1/NEWS 2020-10-09 00:26:17.382874000 +0200
+++ new/gjs-1.66.2/NEWS 2021-01-10 00:10:12.997189500 +0100
@@ -1,3 +1,21 @@
+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
 --------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gjs-1.66.1/gi/arg-cache.cpp 
new/gjs-1.66.2/gi/arg-cache.cpp
--- old/gjs-1.66.1/gi/arg-cache.cpp     2020-10-09 00:26:17.384874000 +0200
+++ new/gjs-1.66.2/gi/arg-cache.cpp     2021-01-10 00:10:12.998189400 +0100
@@ -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/gjs-1.66.1/gi/arg-cache.h 
new/gjs-1.66.2/gi/arg-cache.h
--- old/gjs-1.66.1/gi/arg-cache.h       2020-10-09 00:26:17.384874000 +0200
+++ new/gjs-1.66.2/gi/arg-cache.h       2021-01-10 00:10:12.998189400 +0100
@@ -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/gjs-1.66.1/gi/boxed.cpp new/gjs-1.66.2/gi/boxed.cpp
--- old/gjs-1.66.1/gi/boxed.cpp 2020-10-09 00:26:17.384874000 +0200
+++ new/gjs-1.66.2/gi/boxed.cpp 2021-01-10 00:10:12.999189400 +0100
@@ -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/gjs-1.66.1/gi/boxed.h new/gjs-1.66.2/gi/boxed.h
--- old/gjs-1.66.1/gi/boxed.h   2020-10-09 00:26:17.385874000 +0200
+++ new/gjs-1.66.2/gi/boxed.h   2021-01-10 00:10:12.999189400 +0100
@@ -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/gjs-1.66.1/gi/function.cpp 
new/gjs-1.66.2/gi/function.cpp
--- old/gjs-1.66.1/gi/function.cpp      2020-10-09 00:26:17.385874000 +0200
+++ new/gjs-1.66.2/gi/function.cpp      2021-01-10 00:10:13.000189500 +0100
@@ -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/gjs-1.66.1/gi/fundamental.cpp 
new/gjs-1.66.2/gi/fundamental.cpp
--- old/gjs-1.66.1/gi/fundamental.cpp   2020-10-09 00:26:17.385874000 +0200
+++ new/gjs-1.66.2/gi/fundamental.cpp   2021-01-10 00:10:13.000189500 +0100
@@ -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/gjs-1.66.1/gi/fundamental.h 
new/gjs-1.66.2/gi/fundamental.h
--- old/gjs-1.66.1/gi/fundamental.h     2020-10-09 00:26:17.385874000 +0200
+++ new/gjs-1.66.2/gi/fundamental.h     2021-01-10 00:10:13.000189500 +0100
@@ -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/gjs-1.66.1/gi/interface.cpp 
new/gjs-1.66.2/gi/interface.cpp
--- old/gjs-1.66.1/gi/interface.cpp     2020-10-09 00:26:17.386874200 +0200
+++ new/gjs-1.66.2/gi/interface.cpp     2021-01-10 00:10:13.001189500 +0100
@@ -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/gjs-1.66.1/gi/interface.h 
new/gjs-1.66.2/gi/interface.h
--- old/gjs-1.66.1/gi/interface.h       2020-10-09 00:26:17.386874200 +0200
+++ new/gjs-1.66.2/gi/interface.h       2021-01-10 00:10:13.001189500 +0100
@@ -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/gjs-1.66.1/gi/object.cpp new/gjs-1.66.2/gi/object.cpp
--- old/gjs-1.66.1/gi/object.cpp        2020-10-09 00:26:17.386874200 +0200
+++ new/gjs-1.66.2/gi/object.cpp        2021-01-10 00:10:13.003189600 +0100
@@ -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/gjs-1.66.1/gi/object.h new/gjs-1.66.2/gi/object.h
--- old/gjs-1.66.1/gi/object.h  2020-10-09 00:26:17.386874200 +0200
+++ new/gjs-1.66.2/gi/object.h  2021-01-10 00:10:13.003189600 +0100
@@ -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/gjs-1.66.1/gi/union.cpp new/gjs-1.66.2/gi/union.cpp
--- old/gjs-1.66.1/gi/union.cpp 2020-10-09 00:26:17.387874100 +0200
+++ new/gjs-1.66.2/gi/union.cpp 2021-01-10 00:10:13.004189500 +0100
@@ -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/gjs-1.66.1/gi/union.h new/gjs-1.66.2/gi/union.h
--- old/gjs-1.66.1/gi/union.h   2020-10-09 00:26:17.387874100 +0200
+++ new/gjs-1.66.2/gi/union.h   2021-01-10 00:10:13.004189500 +0100
@@ -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/gjs-1.66.1/gi/wrapperutils.h 
new/gjs-1.66.2/gi/wrapperutils.h
--- old/gjs-1.66.1/gi/wrapperutils.h    2020-10-09 00:26:17.387874100 +0200
+++ new/gjs-1.66.2/gi/wrapperutils.h    2021-01-10 00:10:13.004189500 +0100
@@ -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/gjs-1.66.1/installed-tests/js/testGObject.js 
new/gjs-1.66.2/installed-tests/js/testGObject.js
--- old/gjs-1.66.1/installed-tests/js/testGObject.js    2020-10-09 
00:26:17.394874000 +0200
+++ new/gjs-1.66.2/installed-tests/js/testGObject.js    2021-01-10 
00:10:13.010189500 +0100
@@ -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/gjs-1.66.1/meson.build new/gjs-1.66.2/meson.build
--- old/gjs-1.66.1/meson.build  2020-10-09 00:26:17.396874200 +0200
+++ new/gjs-1.66.2/meson.build  2021-01-10 00:10:13.011189700 +0100
@@ -1,4 +1,4 @@
-project('gjs', 'cpp', 'c', version: '1.66.1', license: ['MIT', 'LGPL2+'],
+project('gjs', 'cpp', 'c', version: '1.66.2', license: ['MIT', 'LGPL2+'],
     meson_version: '>= 0.52.0',
     default_options: ['cpp_std=c++17', 'c_std=c99', 'warning_level=2'])
 
@@ -474,6 +474,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/gjs-1.66.1/modules/core/overrides/GObject.js 
new/gjs-1.66.2/modules/core/overrides/GObject.js
--- old/gjs-1.66.1/modules/core/overrides/GObject.js    2020-10-09 
00:26:17.397874000 +0200
+++ new/gjs-1.66.2/modules/core/overrides/GObject.js    2021-01-10 
00:10:13.013189600 +0100
@@ -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/gjs-1.66.1/modules/core/overrides/Gtk.js 
new/gjs-1.66.2/modules/core/overrides/Gtk.js
--- old/gjs-1.66.1/modules/core/overrides/Gtk.js        2020-10-09 
00:26:17.397874000 +0200
+++ new/gjs-1.66.2/modules/core/overrides/Gtk.js        2021-01-10 
00:10:13.013189600 +0100
@@ -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