| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In C, positive integer constants are by default unsigned. This means
an expression like 0x8000000000000000 will be "unsigned long long".
In the actual scanner code, we were parsing them as "gint64", and
storing them as gint64. This was incorrect; we need to parse them
as guint64, and store the bits we get from that. This gives us
an equivalent result to what the C compiler does.
However, when we actually return the value as a Python "long"
(arbitrary length integer), we need to treat the value as unsigned if
the result indicated it was.
https://bugzilla.gnome.org/show_bug.cgi?id=685022
Conflicts:
tests/scanner/Regress-1.0-expected.gir
tests/scanner/regress.h
|
|
|
|
|
|
| |
gi_marshalling_tests_genum_returnv() should (and does) return a
GIMarshallingTestsGEnum, not a GIMarshallingTestsEnum. The latter is already
covered by gi_marshalling_tests_enum_returnv().
|
|
|
|
|
|
|
| |
Added regress_test_callback_destroy_notify_no_user_data.
Updated Regress-1.0-expected.gir
https://bugzilla.gnome.org/show_bug.cgi?id=685922
|
|
|
|
|
|
|
|
| |
Add in/out API for testing arrays containing uint64, as well as GList
containing uint32 (GList and GHash can't contain 64 bit values as they store
them in pointers).
https://bugzilla.gnome.org/show_bug.cgi?id=685860
|
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=683596
Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=683596
|
|
|
|
| |
These includes more proper links and fundamentals.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ensures that if the first argument of a function like
gboolean gdk_rgba_parse (GdkRGBA *rgba, const gchar *spec);
is annotated as being an out-arg, the result is a class function with two
arguments, not a method with one argument. Previously, the (out) annotation
was simply ignored.
https://bugzilla.gnome.org/show_bug.cgi?id=682124
|
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=681565
Co-Authored-By: Martin Pitt <martinpitt@gnome.org>
|
|
|
|
|
|
|
|
|
|
|
| |
We were conditionalizing on the presence of cairo in the buildroot,
but that's super lame since it makes a huge mess of the build
dependency graph.
Let's just always stick cairo-gobject in there. I doubt anyone cares
anymore about building g-i on really old systems without it.
If they do...well, we can revisit this again.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 764366f7e4ef5a765a24ffac8c60b811f38b9ad9.
It can't work right now because to really use the structures, you need
to register them as a boxed, and that means we also need to rename the
boxed type.
A future version of this patch will need to handle both the structure
name and the GType name.
https://bugzilla.gnome.org/show_bug.cgi?id=675985
|
|
|
|
| |
Previous commit used old-style declarations which was broken.
|
|
|
|
| |
requires "handle unsigned properly for type of defined size" patch.
|
| |
|
|
|
|
|
|
|
|
|
| |
This let the macro expands to its value as gint64/guint64.
Also
- fix lexer identifier/typdef detection for macro and misc
- do not discard cast
|
|
|
|
|
|
| |
Convert the simple g_assert() statements into g_assert_cmp*, to show what the
actual value is in case of a failure. This makes it easier to port
g-i/pygobject/etc. to new architectures which exhibit bugs, like powerpc64.
|
| |
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=675985
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=679981
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=679981
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new interface GIMarshallingTestsInterface3 with a method that takes an
array of variants as argument. This can be used for testing the passing of
array of variants from C to introspection clients, which is not otherwise
covered in the tests for arrays of variants.
https://bugzilla.gnome.org/show_bug.cgi?id=667244
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
|
|
|
|
|
| |
This used the non-existing G_TYPE_INSTANCE_GET_INTERFACE2 macro, likely a
copy&paste error.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=679160
|
|
|
|
|
|
|
|
| |
anonymous unions
The previous patch introduced a regression where we would crash on
encountering an anonymous union. Work around this by just writing out
'gpointer' in this case, and add a regression test.
|
|
|
|
|
|
|
|
| |
That is - write also type qualifiers (const and volatile here). Update
existing tests and add a new struct to regress.h having members with
type qualifiers.
https://bugzilla.gnome.org/show_bug.cgi?id=656445
|
|
|
|
|
|
|
|
|
| |
Previous fix was wrong, as it called to_underscores_noprefix on a
prefixed type name. The actual fix is to call the transformer to
do the prefix / type_name split, and turn the latter to underscores.
Test case included.
https://bugzilla.gnome.org/show_bug.cgi?id=634202
|
| |
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=637025 for motivation.
|
|
|
|
|
|
|
| |
This test case has a single-letter symbol prefix, which triggers
edge cases in the difference between prefix handling.
See https://bugzilla.gnome.org/show_bug.cgi?id=637025
|
|
|
|
|
|
|
|
|
|
| |
Turns out that the problem was not only in the wrong matching
to GType enums, but also that the non-GType heuristics used
to_underscores instead of to_underscores_noprefix, turning DBusError
into D_Bus_Error instead of DBus_Error.
Complete with various tests.
https://bugzilla.gnome.org/show_bug.cgi?id=669350
|
|
|
|
|
|
|
| |
Also make the _copy()/_free() methods for GIMarshallingTestsBoxedStruct get
along with NULL values.
https://bugzilla.gnome.org/show_bug.cgi?id=676603
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=677249
|
|
|
|
|
| |
This reproduces
https://bugzilla.gnome.org/show_bug.cgi?id=653151
|
|
|
|
|
| |
This came up as a side issue in
https://bugzilla.gnome.org/show_bug.cgi?id=653151
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the scanner found a function with _new in its name, but not
prefixed by the name of a known type, it would assume that the
function was a constructor, and then complain that it couldn't figure
out what it was a constructor for, and mark it introspectable=0.
Instead, just assume that the function is not actually a constructor
in that case (unless it's explicitly tagged as such).
https://bugzilla.gnome.org/show_bug.cgi?id=676815
|
|
|
|
|
|
|
| |
We need to unref the cairo surface here, as we are making the context
be the sole owner of it.
https://bugzilla.gnome.org/show_bug.cgi?id=671687
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=671687
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=671687
|
|
|
|
|
|
|
|
|
| |
It appears that cmph library can return (n+1) when querying item not
present in its original n-item-sized set. Adjust code so that it
detects this condition and do not chase stray pointers resulting from
this bogus(?) hash result.
https://bugzilla.gnome.org/show_bug.cgi?id=675939
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We need to g_variant_ref() the return type: the closure delivers it wrapped
in a GValue, and the subsequent g_value_unset() unrefs it to zero otherwise.
This was uncovered by the now working TestClosures.test_variant() test case in
PyGObject.
Also allow passing NULL as argument, to be able to test these code paths as
well.
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 7c4fbbd6 introduced some low-level g_memdup()ing of the passed GVariant
in regress_test_closure_variant(). This causes a race condition with GI clients
like pygobject's test suite, which sometimes fail with
(runtests.py:15653): GLib-CRITICAL **: g_variant_ref_sink: assertion `value->ref_count > 0' failed
Drop the memduping again, and instead make the argument non-const (which is
true, as the method temporarily increases the refcount).
|
|
|
|
| |
Should have signal arguments in the right order
|
|
|
|
|
|
|
| |
Add a flag and enum check to
the GHashes returned/expected by regress_test_ghash_gvalue_{return,in}().
https://bugzilla.gnome.org/show_bug.cgi?id=637466
|
|
|
|
|
|
|
|
|
|
|
| |
A test case with an array in-argument that is neither zero terminated,
nor fixed length, nor blessed with a length argument.
This is, for example, the case in clutter_texture_set_from_rgb_data()
https://bugzilla.gnome.org/show_bug.cgi?id=674271
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
|
|
|
|
|
|
|
|
| |
Needed for https://bugzilla.gnome.org/show_bug.cgi?id=674351
https://bugzilla.gnome.org/show_bug.cgi?id=674366
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=673806
|