Tomeu Vizoso [Fri, 30 Apr 2010 16:15:23 +0000 (18:15 +0200)]
Add support for GArrays: add g_type_info_get_array_type() and properly scan GArray args
Based on a previous patch by C. Scott Ananian <cscott@litl.com>
https://bugzilla.gnome.org/show_bug.cgi?id=581687
Johan Dahlin [Wed, 28 Apr 2010 18:25:53 +0000 (15:25 -0300)]
[annotationparser] Disable warning
Tomeu Vizoso [Wed, 28 Apr 2010 12:32:14 +0000 (14:32 +0200)]
Warn about annotations for unknown args
https://bugzilla.gnome.org/show_bug.cgi?id=615890
Tomeu Vizoso [Tue, 27 Apr 2010 13:15:10 +0000 (15:15 +0200)]
Keep valgrind happy in a test
Tomeu Vizoso [Tue, 27 Apr 2010 08:22:33 +0000 (10:22 +0200)]
Add test for virtual method with a default implementation
Dan Winship [Wed, 14 Apr 2010 18:16:44 +0000 (14:16 -0400)]
[glib] make g_file_set_contents() take uint8*, not utf8
(We ought to do this for g_file_get_contents() as well, but that would
be inconvenient for gjs at the moment, so I'm not.)
https://bugzilla.gnome.org/show_bug.cgi?id=614974
Zach Goldberg [Wed, 21 Apr 2010 03:56:44 +0000 (23:56 -0400)]
Negative test case for bad (out) case, not setting the *out_val in a (transfer full) case
https://bugzilla.gnome.org/show_bug.cgi?id=616358
Saleem Ansari [Mon, 26 Apr 2010 11:12:11 +0000 (16:42 +0530)]
* docs/g-ir-scanner.1: Man page for g-ir-scanner(1) had long options with three dashes, changed to two dashes.
https://bugzilla.gnome.org/show_bug.cgi?id=616837
Tomeu Vizoso [Fri, 23 Apr 2010 14:32:08 +0000 (16:32 +0200)]
Add tests for unions
Tomeu Vizoso [Thu, 22 Apr 2010 13:11:29 +0000 (15:11 +0200)]
Add tests for non-gtype Enum
Tomeu Vizoso [Thu, 22 Apr 2010 13:09:55 +0000 (15:09 +0200)]
Update gir/Everything-1.0-expected.gir
Tomeu Vizoso [Thu, 22 Apr 2010 12:57:35 +0000 (14:57 +0200)]
Add tests for GAsyncReadyCallback
Zach Goldberg [Wed, 21 Apr 2010 02:34:15 +0000 (22:34 -0400)]
Add new tests for multiple callback calls during function invokation for scope call
https://bugzilla.gnome.org/show_bug.cgi?id=616354
Johan Dahlin [Wed, 21 Apr 2010 02:04:47 +0000 (23:04 -0300)]
[everything] Depend on cairo properly
Don't try to build the everything library nor the gir if we
can't find cairo. Pass in the right flags so it can be built
when cairo is not in the same prefix as the rest of the dependencies.
Colin Walters [Sun, 18 Apr 2010 19:55:34 +0000 (15:55 -0400)]
Add missing build dependency for GIMarshallingTests on GObject-2.0.gir
Also consistently specify --add-include-path.
https://bugzilla.gnome.org/show_bug.cgi?id=616126
Colin Walters [Sun, 18 Apr 2010 19:46:38 +0000 (15:46 -0400)]
Add --disable-tests configure flag
This allows us to not hard depend on cairo.
Colin Walters [Sun, 18 Apr 2010 18:11:43 +0000 (14:11 -0400)]
Update Everything-1.0-expected.gir for recent changes
Tomeu Vizoso [Sun, 18 Apr 2010 14:26:29 +0000 (10:26 -0400)]
Add tests for vfuncs in classes
Tomeu Vizoso [Sat, 17 Apr 2010 22:27:57 +0000 (18:27 -0400)]
Add tests for vfuncs in interfaces
Zach Goldberg [Sat, 17 Apr 2010 17:37:54 +0000 (13:37 -0400)]
Add a bunch of new tests for nullable args in Everything module
https://bugzilla.gnome.org/show_bug.cgi?id=616039
Zach Goldberg [Sat, 17 Apr 2010 16:02:25 +0000 (12:02 -0400)]
Update tests for new fields in Everything module
Tomeu Vizoso [Fri, 16 Apr 2010 18:34:50 +0000 (14:34 -0400)]
Use a pointer to a known type as a member of GIMarshallingTestsNotSimpleStruct
Zach Goldberg [Thu, 15 Apr 2010 21:01:11 +0000 (17:01 -0400)]
Add a simple callback type which has no arguments or return values
https://bugzilla.gnome.org/show_bug.cgi?id=615887
Tomeu Vizoso [Thu, 15 Apr 2010 21:44:42 +0000 (17:44 -0400)]
Add foreign struct funcs to Everything
https://bugzilla.gnome.org/show_bug.cgi?id=615773
Tomeu Vizoso [Wed, 14 Apr 2010 18:39:15 +0000 (14:39 -0400)]
Add *~ to .gitignore
Tomeu Vizoso [Tue, 13 Apr 2010 22:56:34 +0000 (18:56 -0400)]
If needed, convert from camelcase to underscores when stripping the prefix of constants
https://bugzilla.gnome.org/show_bug.cgi?id=615694
Tomeu Vizoso [Tue, 13 Apr 2010 22:58:34 +0000 (18:58 -0400)]
Add GIMarshallingTests typelib
Fixes #615299
Tomeu Vizoso [Tue, 13 Apr 2010 22:46:57 +0000 (18:46 -0400)]
Update Everything-1.0-expected.gir
Tomeu Vizoso [Fri, 9 Apr 2010 14:10:34 +0000 (16:10 +0200)]
Assert input values in Everything funcs
Owen W. Taylor [Wed, 7 Apr 2010 21:48:52 +0000 (17:48 -0400)]
Correctly use ffi_closure_alloc(), fixing mmap permissions error
This restores the reverted-commit
ed8634d:
Author: Dan Winship <danw@gnome.org>
Date: Mon Apr 5 14:05:52 2010 -0400
g_callable_info_prepare_closure: handle mmap permissions error
When SELinux or similar is active, a process may not be able to mmap()
a segment that is both writable and executable, which would causing
g_callable_info_prepare_closure() to fail. Libffi has a workaround for
this problem though (it maps the same non-anonymous region twice, once
writable and once executable, and returns two separate pointers to
it), so use that.
But with an added fix, when using ffi_closure_alloc(), we need to use
ffi_prep_closure_loc() so we can pass in the executable address of the
trampoline separately from the writable address, rather than the
deprecated ffi_prep_closure().
https://bugzilla.gnome.org/show_bug.cgi?id=615105
Colin Walters [Wed, 7 Apr 2010 19:20:48 +0000 (15:20 -0400)]
Revert "g_callable_info_prepare_closure: handle mmap permissions error"
This reverts commit
ed8634ddf73a56cb1935fd87254b3c6c04352893.
This commit caused crashes in gjs/gnome-shell, which we're still trying
to track down. See: http://bugzilla.gnome.org/615078
Johan Dahlin [Wed, 7 Apr 2010 15:19:01 +0000 (12:19 -0300)]
[glib] Add GKeyFile annotations
Colin Walters [Thu, 18 Mar 2010 21:54:30 +0000 (17:54 -0400)]
[configure.ac] Post release version bump
Colin Walters [Thu, 18 Mar 2010 21:46:56 +0000 (17:46 -0400)]
[giroffsets] Also update this code for change to signed enumeration values
Dan Winship [Mon, 5 Apr 2010 18:05:52 +0000 (14:05 -0400)]
g_callable_info_prepare_closure: handle mmap permissions error
When SELinux or similar is active, a process may not be able to mmap()
a segment that is both writable and executable, which would causing
g_callable_info_prepare_closure() to fail. Libffi has a workaround for
this problem though (it maps the same non-anonymous region twice, once
writable and once executable, and returns two separate pointers to
it), so use that.
https://bugzilla.gnome.org/show_bug.cgi?id=614903
Johan Dahlin [Thu, 25 Mar 2010 12:34:20 +0000 (09:34 -0300)]
[cairo] Mark add structs as foreign
https://bugzilla.gnome.org/show_bug.cgi?id=610357
Johan Dahlin [Fri, 26 Mar 2010 02:12:12 +0000 (23:12 -0300)]
Add support for foreign structs
Foreign structs are special in the sense that there might
be native bindings (for instance PyCairo for PyGI) that provides
the same functionallity as the introspected variant.
https://bugzilla.gnome.org/show_bug.cgi?id=610357
Johan Dahlin [Fri, 26 Mar 2010 01:30:42 +0000 (22:30 -0300)]
[docs] Remove reference to girwriter.c
Johan Dahlin [Wed, 24 Mar 2010 18:20:14 +0000 (15:20 -0300)]
[typelib] Remove space/indent mismatch
Johan Dahlin [Thu, 25 Mar 2010 12:17:20 +0000 (09:17 -0300)]
Remove unused file girwriter.c
Johan Dahlin [Thu, 25 Mar 2010 12:17:03 +0000 (09:17 -0300)]
Remove trailing whitespace
Johan Dahlin [Wed, 24 Mar 2010 18:40:28 +0000 (15:40 -0300)]
Revert accidentally committed attribute
Johan Dahlin [Wed, 24 Mar 2010 18:02:33 +0000 (15:02 -0300)]
[MAINTAINERS] Remove Matthias
Johan Dahlin [Wed, 24 Mar 2010 18:00:06 +0000 (15:00 -0300)]
[girepository] Remove trailing whitespace
Johan Dahlin [Wed, 24 Mar 2010 17:55:22 +0000 (14:55 -0300)]
[cairo] Remove unused glib types
Colin Walters [Wed, 17 Mar 2010 23:28:01 +0000 (19:28 -0400)]
Enumerations can be negative
Change the internal type for ValueBlob to gint32, since it's perfectly
valid for enumerations to have negative values.
https://bugzilla.gnome.org/show_bug.cgi?id=613203
Colin Walters [Wed, 10 Mar 2010 13:53:56 +0000 (08:53 -0500)]
[configure.ac] Post-release version bump
Colin Walters [Wed, 10 Mar 2010 13:50:49 +0000 (08:50 -0500)]
[MAINTAINERS] Add Colin Walters <walters@verbum.org>
Maxim Ermilov [Wed, 17 Mar 2010 21:46:02 +0000 (17:46 -0400)]
Fix g_file_enumerator_next_files_finish annotation
https://bugzilla.gnome.org/show_bug.cgi?id=612318
Alan Knowles [Mon, 15 Mar 2010 15:05:46 +0000 (23:05 +0800)]
Small fix to handle @attributes: .... (.....) as a parameter to a function
Previously crashed out, now just ignores the attribute
Johan Dahlin [Mon, 15 Mar 2010 13:48:57 +0000 (10:48 -0300)]
[glib] Add g_convert annotations
Johan Dahlin [Wed, 10 Mar 2010 15:01:15 +0000 (12:01 -0300)]
Merge remote branch 'origin'
Johan Dahlin [Tue, 9 Mar 2010 15:28:22 +0000 (12:28 -0300)]
[everything] Add alternative boxed constructors
Colin Walters [Mon, 8 Mar 2010 20:22:03 +0000 (15:22 -0500)]
[gio-2.0.c] Annotate g_file_replace
Colin Walters [Thu, 4 Mar 2010 17:22:13 +0000 (12:22 -0500)]
[everything] Add to expected .gir for last comment
Colin Walters [Thu, 4 Mar 2010 14:32:16 +0000 (09:32 -0500)]
[everything] Add some "torture" test functions with baroque signatures
We didn't have good coverage of say in arguments after out.
https://bugzilla.gnome.org/show_bug.cgi?id=611809
Johan Bilien [Mon, 1 Mar 2010 22:32:32 +0000 (17:32 -0500)]
Add a test function with an out argument and some other after that
Useful to debug case https://bugzilla.gnome.org/show_bug.cgi?id=611529
Johan Dahlin [Wed, 17 Feb 2010 16:53:07 +0000 (14:53 -0200)]
[giscanner] Catch CalledProcessError and OSError
Instead of catching all errors, including AttributeError,
TypeError and NameError.
Colin Walters [Wed, 17 Feb 2010 16:18:18 +0000 (11:18 -0500)]
[scanner] Catch OSError too when checking for libtool
If we don't have permission to execute the libtool binary, we'd
just throw here which is wrong. Fix this by catching all
exceptions.
Owen W. Taylor [Tue, 22 Dec 2009 16:10:33 +0000 (11:10 -0500)]
Fix glib:error-quark scanning for unregistered enum types
The enumeration type for an error might not be introspected
and registered with GObject (this is, in particular, true for
the errors in GLib itself). So, as a fallback search, through
all enum types in the module.
Add a special case for the aberrant GIOErrorEnum and a warning
if resolution completely fails.
https://bugzilla.gnome.org/show_bug.cgi?id=602512
Johan Dahlin [Fri, 12 Feb 2010 16:03:14 +0000 (14:03 -0200)]
Fix unittests, add missing allow-none
Colin should remember to run `make check' before comitting!
Colin Walters [Thu, 11 Feb 2010 22:49:51 +0000 (17:49 -0500)]
Delete stray g_return_if_fail
If g_alloca failed we're pretty much screwed, and g_return_if_fail
is for API entry points, not internal assertions.
Colin Walters [Tue, 15 Dec 2009 22:39:00 +0000 (17:39 -0500)]
Assume allow-none for GCancellable
All GCancellables are allow-none, this allows us to remove a lot
of custom annotations.
https://bugzilla.gnome.org/show_bug.cgi?id=604658
Kedar Sovani [Wed, 21 Oct 2009 11:28:12 +0000 (13:28 +0200)]
Fix Alignment Errors.
Signed-off-by: Kedar Sovani <kedars@marvell.com>
https://bugzilla.gnome.org/show_bug.cgi?id=606139
Colin Walters [Thu, 11 Feb 2010 22:18:28 +0000 (17:18 -0500)]
[g-ir-compiler] Slightly less lame error messages
To make things really better we should track the line origin of
element from the .gir file (and actually we need to do better
checking in the scanner), but this is slightly less lame.
Colin Walters [Thu, 11 Feb 2010 21:42:59 +0000 (16:42 -0500)]
Conform last patch with pep8
Colin Walters [Thu, 11 Feb 2010 21:03:59 +0000 (16:03 -0500)]
[scanner] Print error instead of throwing for unknown include
We should avoid exceptions being propagated to the toplevel.
Johan Bilien [Mon, 1 Feb 2010 20:18:27 +0000 (15:18 -0500)]
tests: Do not include built source in the distribution
https://bugzilla.gnome.org/show_bug.cgi?id=608724
Johan Bilien [Mon, 1 Feb 2010 20:17:57 +0000 (15:17 -0500)]
gir: Do not include generated gir files in the distribution
https://bugzilla.gnome.org/show_bug.cgi?id=608723
Maxim Ermilov [Sun, 24 Jan 2010 21:26:29 +0000 (00:26 +0300)]
increase limit of GIRealInfo's ref_count
New limit is 0x7FFFFFFF.
Johan Bilien [Mon, 18 Jan 2010 15:03:11 +0000 (10:03 -0500)]
tests: Add the scope for callbacks in expected girs
following my previous patch to systematically specify the scope in
callbacks. Had forgotten to add these.
Johan Bilien [Thu, 14 Jan 2010 22:02:36 +0000 (17:02 -0500)]
scanner: Always explicitely set the scope of callbacks
default to 'call' as stated in the annotation documentation.
https://bugzilla.gnome.org/show_bug.cgi?id=607026
Dan Winship [Wed, 13 Jan 2010 20:39:40 +0000 (15:39 -0500)]
annotate g_filename_to_uri
Colin Walters [Thu, 7 Jan 2010 21:12:15 +0000 (16:12 -0500)]
Correctly cast to a CommonBlob when looking up embedded types
When looking at an embedded type (e.g. a Callback after a Field), the
offset we put in the info structure was to the CallbackBlob itself.
However the code in g_type_info_get_interface assumed that the offset
was to a SimpleTypeBlob, which it wasn't.
https://bugzilla.gnome.org/show_bug.cgi?id=606180
Owen W. Taylor [Sun, 3 Jan 2010 15:50:58 +0000 (10:50 -0500)]
Don't remove .c file for dumper binary
We're going to remove the entire temporary directory,
so there's no point in explicitly removing just the .c file
we create; leaving the .c file behind makes it easier to debug
problems.
https://bugzilla.gnome.org/show_bug.cgi?id=605966
Johan Dahlin [Fri, 8 Jan 2010 19:08:44 +0000 (17:08 -0200)]
Remove tabs, fixes make check
Damien Lespiau [Wed, 23 Dec 2009 23:15:21 +0000 (00:15 +0100)]
Add an --add-init-section argument
One might need to call some init functions before being able to call
get_type() to create the types of a library.
--add-init-section let the user insert some initialization code in the
introspection program.
https://bugzilla.gnome.org/show_bug.cgi?id=605778
Johan Dahlin [Thu, 31 Dec 2009 16:37:21 +0000 (17:37 +0100)]
The private header should be included in girffi.c
Not in the public girffi.h.
Damien Lespiau [Sat, 26 Dec 2009 14:32:20 +0000 (15:32 +0100)]
__extension__ can be put in front of expressions
glib uses __extension__ in macros dealing with 64 bits integer such as
GUINT64_SWAP_LE_BE().
To quote the GCC manual:
`-pedantic' and other options cause warnings for many GNU C extensions. You
can prevent such warnings within one expression by writing `__extension__'
before the expression.
https://bugzilla.gnome.org/show_bug.cgi?id=605779
Damien Lespiau [Wed, 23 Dec 2009 20:35:12 +0000 (21:35 +0100)]
Fix typo in the help string of the --no-libtool argument
--no-libtool means that one does not want to use libtool to compile the
introspection program.
https://bugzilla.gnome.org/show_bug.cgi?id=605774
Johan Dahlin [Thu, 31 Dec 2009 14:35:49 +0000 (15:35 +0100)]
Simplify Gio-2.0.gir rules
Also make sure to add cflags from gio-unix-2.0 to avoid a warning
Johan Dahlin [Thu, 31 Dec 2009 14:29:43 +0000 (15:29 +0100)]
Add missing include girffi-private.h
Johan Dahlin [Thu, 31 Dec 2009 14:26:33 +0000 (15:26 +0100)]
Include Python.h earlier
This avoids pyconfig.h:1028:1: warning: "_POSIX_C_SOURCE" redefined
Johan Dahlin [Thu, 31 Dec 2009 14:23:16 +0000 (15:23 +0100)]
Use AM_V_GEN more a more quiet build
Also suppress a bit more using @
Johan Dahlin [Wed, 30 Dec 2009 23:21:33 +0000 (00:21 +0100)]
Make sure the macros work without silent rules
We should not require AM_DEFAULT_VERBOSITY to be present, workaround
that fact
Johan Dahlin [Wed, 30 Dec 2009 22:52:22 +0000 (23:52 +0100)]
Make compiler output with silent-rules prettier
This is only supported with automake 1.11 or newer, older versions
should default to showing nothing for now.
Halton Huo [Wed, 23 Dec 2009 08:27:40 +0000 (16:27 +0800)]
Add -DGLIB_COMPILATION for GLib-2.0.gir.
Otherwise, suncc reports error when parsing /usr/include/glib-2.0/glib/ghostutils.h,
and stops parsing rest headers.
https://bugzilla.gnome.org/show_bug.cgi?id=605108
Colin Walters [Mon, 7 Dec 2009 23:35:06 +0000 (18:35 -0500)]
Allow stack allocating GIBaseInfo, add stack retrieval variants
We don't want to malloc each GIBaseInfo when they can be used in
function invocation; instead, allow stack allocation.
There were a lot of structure typedefs which were actually just
exactly the same as GIBaseInfo, with the one exception of GITypeInfo.
Instead, just put the single GITypeInfo boolean inside GIBaseInfo
as a bit in a bitfield.
GIBaseInfo is still opaque publicly; GIRealInfo is the new
internal structure.
Using this, add new functions to retrieve arguments and argument types
on the stack.
https://bugzilla.gnome.org/show_bug.cgi?id=604074
Colin Walters [Mon, 7 Dec 2009 16:54:18 +0000 (11:54 -0500)]
[girffi] Clean up API, add g_function_info_prep_invoker
Rather than having bindings use g_function_info_invoke, which is basically
a toy/demo API, export a convenience utility function which takes the introspection
information and sets up things we need to pass to libffi.
Then invocation can be done directly to libffi by a binding.
As part of this work, remove some (unused by gjs) public functions from the
girffi API, and instead export a function to map to libffi which can work
semi-correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=604074
Colin Walters [Wed, 16 Dec 2009 23:16:31 +0000 (18:16 -0500)]
Fix compilation warning in ginvoke.c
Johan Dahlin [Wed, 16 Dec 2009 19:30:00 +0000 (17:30 -0200)]
Post release version bump
Javier Jardón [Thu, 3 Dec 2009 20:35:23 +0000 (21:35 +0100)]
Substitute deprecated Glib symbol: g_mapped_file_free
glib-compat.h file created to use g_mapped_file_unref only if
glib >= 2.22 is available
https://bugzilla.gnome.org/show_bug.cgi?id=603727
Saleem Abdulrasool [Sun, 13 Dec 2009 19:56:45 +0000 (11:56 -0800)]
fix invoke tests
retval should be a valid pointer
https://bugzilla.gnome.org/show_bug.cgi?id=604472
Saleem Abdulrasool [Sun, 13 Dec 2009 19:53:04 +0000 (11:53 -0800)]
protect on null retval
ffi_call does not protect against retval being NULL, resulting in a segfault.
https://bugzilla.gnome.org/show_bug.cgi?id=604472
Johan Dahlin [Tue, 15 Dec 2009 13:00:52 +0000 (11:00 -0200)]
Revert "GI_TYPE_TAG_VOID != ffi_type_void"
This reverts commit
28cccba737ec2214da66b0d74059278162cf5fd0.
Johan Dahlin [Mon, 14 Dec 2009 23:44:26 +0000 (21:44 -0200)]
Do not require the precense of INTROSPECTION_GIRS
It's useful to be able to include the makefile without
having introspection enabled.
Johan Dahlin [Mon, 14 Dec 2009 23:43:55 +0000 (21:43 -0200)]
Update .gitignore
Johan Dahlin [Mon, 14 Dec 2009 23:42:54 +0000 (21:42 -0200)]
Install Makefile.introspection in the right dir
Also, make sure that it is included in the dist
Johan Dahlin [Mon, 14 Dec 2009 23:42:21 +0000 (21:42 -0200)]
Move the functions out of the define
As it breaks when including the makefile when using
an absolute path.
Johan Dahlin [Mon, 14 Dec 2009 19:21:54 +0000 (17:21 -0200)]
Add a Makefile.introspection
This will make it easier for third-party projects to use
introspection by having easy make rules.