| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
This reverts commit f41525d54f53edd9b0d665397f7c6c755ee3616b and
adds a more complete solution as the original commit only handled
empty lines between the GTK-Doc comment block start token "/**" and
the identifier.
https://bugzilla.gnome.org/show_bug.cgi?id=673806
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current logic in _parse_comment_block of the annotationparser
check the identifier and use variables that only makes sense if a
result was returned (column_offset, original_line). This patch
indent the logic so it is only triggered if a result is found.
Otherwise it returns None as expected by call chain
"parse > parse_comment_block > _parse_comment_block":
ie in "parse":
comment_block = self.parse_comment_block(comment)
if comment_block is not None:
This still raises a lot of warnings but does not abort while generating
gir for libgnomekbd, mutter or telepathy-glib (those thus have to be
tweaked not to call g-ir-scanner with --warn-error at least until the
parser mask those false positives or the doc from those projects is
fixed to comply with the behaviour expected by giscanner).
https://bugzilla.gnome.org/show_bug.cgi?id=673806
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids tags overwriting parameters if they happen to
share the same name. For example, this was triggered by
valid code in libgnome-keyring.
tests/scanner/regress.c and tests/scanner/regress.h test
written by Colin Walters <walters@verbum.org>.
https://bugzilla.gnome.org/show_bug.cgi?id=672254
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add missing colons
- invalid annotations
- invalid parameters and tags
- correct parameter name
- preserve description indentation
- no description parts
- comment end marker
- invalid empty lines
- line numbers
AnnotationParser now emits warnings which are considered as
errors by "make check" so fix those warnings...
https://bugzilla.gnome.org/show_bug.cgi?id=672254
|
|
|
|
|
|
|
|
|
|
| |
Add a couple of functions which can be used to test
marshalling/demarshalling of GHashTables having GValue as keys.
This is related to a python-gobject bug:
https://bugzilla.gnome.org/show_bug.cgi?id=668903
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
|
|
|
|
|
| |
This complements the already existing
regress_test_garray_container_return() test.
|
|
|
|
|
|
| |
Some vfuncs may not have public invokers. In these cases, annotations
may still be needed to correctly implement or chain up to a virtual
method from a subclass's implementation.
|
|
|
|
|
|
| |
Add a test that accepts a callback receiving array arguments
https://bugzilla.gnome.org/show_bug.cgi?id=654406
|
|
|
|
|
|
|
| |
It models the case where a callback that return a gerror succeds and set
the error to NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=669415
|
| |
|
|
|
|
|
|
|
| |
This covers both "transfer none" and "transfer full" cases.
This is a requisite for writing a pygobject test case for
https://bugzilla.gnome.org/show_bug.cgi?id=666270
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=662888
|
|
|
|
|
| |
This is a requisite for writing a pygobject test case for
https://bugzilla.gnome.org/show_bug.cgi?id=662383
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This applies mainly to GValue, which is defined as:
struct _GValue
{
/*< private >*/
GType g_type;
/* public for GTypeValueTable methods */
union {
gint v_int;
guint v_uint;
glong v_long;
gulong v_ulong;
gint64 v_int64;
guint64 v_uint64;
gfloat v_float;
gdouble v_double;
gpointer v_pointer;
} data[2];
};
Previously, the scanner did not understand the array of unions. This
resulted in g_struct_info_get_size returning an incorrect size for
GValue (at least on 32bit systems).
Fix this by making up a separate union declaration for the GIR that can
be referenced by the array.
https://bugzilla.gnome.org/show_bug.cgi?id=657040
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
If we're done parsing parameters, previously we would simply eat lines that looked like
@foo: blah blah
Example is in gtkcssprovider.c.
https://bugzilla.gnome.org/show_bug.cgi?id=656504
|
| |
|
|
|
|
|
|
| |
For generating documentation, we actually want to preserve these.
https://bugzilla.gnome.org/show_bug.cgi?id=656389
|
| |
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=644611
|
|
|
|
|
|
|
|
|
|
| |
We need to distinguish inline arrays inside structures, and arrays
that are pointers and annotations, and we can do it with
g_type_info_is_pointer(), setting it to FALSE for fixed size arrays.
As a side effect, (array fixed-size=N) on a pointer type has no longer
the expected result.
https://bugzilla.gnome.org/show_bug.cgi?id=646635
|
|
|
|
|
|
| |
Based on a patch by Giovanni Campagna <gcampagna@src.gnome.org>
https://bugzilla.gnome.org/show_bug.cgi?id=646635
|
|
|
|
|
|
| |
This is needed so we don't fail to parse gatomic.h from GLib.
https://bugzilla.gnome.org/show_bug.cgi?id=651548
|
| |
|
|
|
|
|
|
|
| |
Whilst doing the gjs patch, it turned out this was needed in order to
do a robust test suite - we really want to cover all bases here.
Signed-off-by: David Zeuthen <davidz@redhat.com>
|
|
|
|
| |
Signed-off-by: David Zeuthen <davidz@redhat.com>
|
|
|
|
|
|
|
| |
Some enumerations (like GVariantClass) use characters instead of
plain integers, so we need to recognize them.
https://bugzilla.gnome.org/show_bug.cgi?id=646635
|
|
|
|
|
|
|
| |
This way fields are no longer limited to basic types, and can be
supported without accessor methods.
https://bugzilla.gnome.org/show_bug.cgi?id=646635
|
| |
|
|
|
|
|
|
| |
Also add a test case.
https://bugzilla.gnome.org/show_bug.cgi?id=640468
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=641347
|
|
|
|
| |
The cairo/ directory is searched for header files anyway.
|
|
|
|
|
|
| |
So methods such as gtk_drag_dest_set() can be put inside Gtk.Widget
https://bugzilla.gnome.org/show_bug.cgi?id=639945
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=561264
|
|
|
|
|
|
|
|
|
|
|
|
| |
Scanner tries to detect caller-allocates attribute automatically if
not explicitly specified by checking that parameter is not double-referenced
and is struct or union. This patch adds resolving of aliases when
checking whether parameter is struct or union.
Also removes old incorrect method transformer.follow_aliases, which
was never used in current code.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639081
|
|
|
|
|
|
|
|
|
|
|
| |
Inside an alias definition, we only need the name of the alias target
type. Add a method to GIRWriter to write out a type reference rather
than full type definition and use it when writing out an alias.
Determine introspectableness of aliases in IntrospectablePass so functions
using aliases can be marked not-introspectable if the alias itself is not.
https://bugzilla.gnome.org/show_bug.cgi?id=629682
|
|
|
|
|
|
|
| |
g_strcompress() only does some of what we need; fork it
and add support for \x escapes too.
https://bugzilla.gnome.org/show_bug.cgi?id=595773
|
|
|
|
|
|
|
|
| |
These are the only things for which we expect native values to be
preserved; for e.g. flags and integers, we expect bindings to convert.
The particular rationale for this patch is to avoid flagging flags (sic)
as (out caller-allocates).
|
|
|
|
|
|
|
| |
Some API such as gtk_text_iter_get_char returns an individual
"gunichar"; we should support this.
https://bugzilla.gnome.org/show_bug.cgi?id=633197
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The C compiler will pick an enumeration type that accomodates the specified
values for the enumeration, so ignoring 64-bit enumerations, we can
have enumeration values from MININT32 to MAXUINT32. To handle this properly:
- Use gint64 for holding eumeration values when scanning
- Add a 'unsigned_value' bit to ValueBlob so we can distinguish the
int32 vs. uint32 cases in the typelib
- Change the return value of g_value_info_get_value() to gint64.
https://bugzilla.gnome.org/show_bug.cgi?id=629704
|
|
|
|
|
|
|
| |
Declaring input parameters with transfer other than none is
discouraged, so don't do it in the testsuite.
https://bugzilla.gnome.org/show_bug.cgi?id=630788
|
|
|
|
|
| |
We don't want people making functions which take ownership of
arguments, so don't do it in the test suite.
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=594125
|
|
|
|
|
|
|
| |
We weren't doing this consistently, which broke nsname != cprefix
cases.
https://bugzilla.gnome.org/show_bug.cgi?id=629683
|
|
|
|
|
|
|
|
| |
* Explicitly check for ast.Alias in annotation pass
* Add "generic" attribs handling for aliases like docs, introspectable=0
etc.
https://bugzilla.gnome.org/show_bug.cgi?id=629668
|
|
|
|
|
| |
Multiple modules have '_' prefixed symbols in "public" headers
meaning "don't use this in your app".
|