diff options
author | Emmanuele Bassi <ebassi@gmail.com> | 2021-03-12 19:08:03 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gmail.com> | 2021-03-12 19:08:03 +0000 |
commit | 2fc5fd91259199699338a2f8d1198293eeafda1b (patch) | |
tree | 8509ef4aa382ac6d9b7807c5ae8549638aa120a6 | |
parent | ea7d10ca8f05eadd93f557b3ff6718e2387bf4b7 (diff) | |
parent | cd325e9ac596942a7f8f37539d1bd5a5f92691c1 (diff) | |
download | gobject-introspection-2fc5fd91259199699338a2f8d1198293eeafda1b.tar.gz |
Merge branch 'ebassi/pre-release' into 'master'
Ebassi/pre release
See merge request GNOME/gobject-introspection!260
-rw-r--r-- | girepository/giconstantinfo.c | 10 | ||||
-rw-r--r-- | tests/scanner/Regress-1.0-expected.gir | 16 | ||||
-rw-r--r-- | tests/scanner/foo.c | 20 |
3 files changed, 37 insertions, 9 deletions
diff --git a/girepository/giconstantinfo.c b/girepository/giconstantinfo.c index c18a9d3f..a9d4cbc0 100644 --- a/girepository/giconstantinfo.c +++ b/girepository/giconstantinfo.c @@ -128,7 +128,15 @@ g_constant_info_get_value (GIConstantInfo *info, if (blob->type.flags.reserved == 0 && blob->type.flags.reserved2 == 0) { if (blob->type.flags.pointer) - value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size); + { +#if GLIB_CHECK_VERSION (2, 67, 5) + gsize blob_size = blob->size; + + value->v_pointer = g_memdup2 (&rinfo->typelib->data[blob->offset], blob_size); +#else + value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size); +#endif + } else { switch (blob->type.flags.tag) diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir index 3a1764e8..c5044d99 100644 --- a/tests/scanner/Regress-1.0-expected.gir +++ b/tests/scanner/Regress-1.0-expected.gir @@ -1934,7 +1934,7 @@ uses a C sugar return type.</doc> c:identifier="regress_foo_object_append_new_stack_layer"> <doc xml:space="preserve" filename="foo.c" - line="786">This shouldn't be scanned as a constructor.</doc> + line="806">This shouldn't be scanned as a constructor.</doc> <source-position filename="foo.h" line="581"/> <return-value transfer-ownership="none"> <type name="FooOtherObject" c:type="RegressFooOtherObject*"/> @@ -2263,13 +2263,13 @@ uses a C sugar return type.</doc> transfer-ownership="full"> <doc xml:space="preserve" filename="foo.c" - line="566">add to this rect</doc> + line="582">add to this rect</doc> <type name="FooRectangle" c:type="RegressFooRectangle*"/> </instance-parameter> <parameter name="r2" transfer-ownership="none"> <doc xml:space="preserve" filename="foo.c" - line="567">source rectangle</doc> + line="583">source rectangle</doc> <type name="FooRectangle" c:type="const RegressFooRectangle*"/> </parameter> </parameters> @@ -2279,7 +2279,7 @@ uses a C sugar return type.</doc> introspectable="0"> <doc xml:space="preserve" filename="foo.c" - line="547">This is a C convenience constructor; we have to (skip) + line="563">This is a C convenience constructor; we have to (skip) it because it's not a boxed type.</doc> <source-position filename="foo.h" line="357"/> <return-value> @@ -6071,7 +6071,7 @@ detection, and fixing it via annotations.</doc> c:identifier="regress_foo_not_a_constructor_new"> <doc xml:space="preserve" filename="foo.c" - line="799">This should be scanned as a top-level function, and shouldn't cause + line="819">This should be scanned as a top-level function, and shouldn't cause a "Can't find matching type for constructor" warning.</doc> <source-position filename="foo.h" line="221"/> <return-value transfer-ownership="none"> @@ -6084,7 +6084,7 @@ a "Can't find matching type for constructor" warning.</doc> introspectable="0"> <doc xml:space="preserve" filename="foo.c" - line="547">This is a C convenience constructor; we have to (skip) + line="563">This is a C convenience constructor; we have to (skip) it because it's not a boxed type.</doc> <source-position filename="foo.h" line="357"/> <return-value> @@ -6110,7 +6110,7 @@ it because it's not a boxed type.</doc> introspectable="0"> <doc xml:space="preserve" filename="foo.c" - line="726">Does something that's only interesting from C and should not be + line="746">Does something that's only interesting from C and should not be exposed to language bindings.</doc> <source-position filename="foo.h" line="556"/> <return-value transfer-ownership="none"> @@ -6120,7 +6120,7 @@ exposed to language bindings.</doc> <parameter name="fs" transfer-ownership="none"> <doc xml:space="preserve" filename="foo.c" - line="728">a #RegressFooSkippable</doc> + line="748">a #RegressFooSkippable</doc> <type name="FooSkippable" c:type="RegressFooSkippable"/> </parameter> </parameters> diff --git a/tests/scanner/foo.c b/tests/scanner/foo.c index e409e0a3..cd45362d 100644 --- a/tests/scanner/foo.c +++ b/tests/scanner/foo.c @@ -410,7 +410,11 @@ struct _RegressFooBoxed RegressFooBoxed * regress_foo_boxed_copy (const RegressFooBoxed *boxed) { +#if GLIB_CHECK_VERSION (2, 67, 5) + return (RegressFooBoxed *)g_memdup2 (boxed, sizeof (RegressFooBoxed)); +#else return (RegressFooBoxed *)g_memdup (boxed, sizeof (RegressFooBoxed)); +#endif } void @@ -453,7 +457,11 @@ struct _RegressFooDBusData RegressFooDBusData * regress_foo_dbus_data_copy (const RegressFooDBusData *boxed) { +#if GLIB_CHECK_VERSION (2, 67, 5) + return (RegressFooDBusData *)g_memdup2 (boxed, sizeof (RegressFooDBusData)); +#else return (RegressFooDBusData *)g_memdup (boxed, sizeof (RegressFooDBusData)); +#endif } void @@ -478,7 +486,11 @@ regress_foo_dbus_data_get_type (void) static RegressFooBRect * regress_foo_brect_copy (const RegressFooBRect *boxed) { +#if GLIB_CHECK_VERSION (2, 67, 5) + return (RegressFooBRect *)g_memdup2 (boxed, sizeof (RegressFooBRect)); +#else return (RegressFooBRect *)g_memdup (boxed, sizeof (RegressFooBRect)); +#endif } GType @@ -496,7 +508,11 @@ regress_foo_brect_get_type (void) static RegressFooBUnion * regress_foo_bunion_copy (const RegressFooBUnion *boxed) { +#if GLIB_CHECK_VERSION (2, 67, 5) + return (RegressFooBUnion *)g_memdup2 (boxed, sizeof (RegressFooBUnion)); +#else return (RegressFooBUnion *)g_memdup (boxed, sizeof (RegressFooBUnion)); +#endif } GType @@ -582,7 +598,11 @@ struct _RegressFooHidden RegressFooHidden * regress_foo_hidden_copy (const RegressFooHidden *boxed) { +#if GLIB_CHECK_VERSION (2, 67, 5) + return (RegressFooHidden *)g_memdup2 (boxed, sizeof (RegressFooHidden)); +#else return (RegressFooHidden *)g_memdup (boxed, sizeof (RegressFooHidden)); +#endif } void |