platform/upstream/gobject-introspection.git
13 years agosupport setting gobjects and ginterfaces in struct fields
John (J5) Palmieri [Mon, 14 Mar 2011 18:18:22 +0000 (14:18 -0400)]
support setting gobjects and ginterfaces in struct fields

https://bugzilla.gnome.org/show_bug.cgi?id=644749

13 years agoMakefile: Rework release tools
Colin Walters [Thu, 10 Mar 2011 19:47:30 +0000 (14:47 -0500)]
Makefile: Rework release tools

Separate "preparing" a release locally from actually uploading it,
and automate bumping the version in configure.ac.

13 years agoconfigure: Post-release version bump
Colin Walters [Thu, 10 Mar 2011 19:42:56 +0000 (14:42 -0500)]
configure: Post-release version bump

13 years agocairo-1.0.gir: Use fully qualified shared library GOBJECT_INTROSPECTION_0.10.4 GOBJECT_INTROSPECTION_0_10_4
Colin Walters [Wed, 9 Mar 2011 18:01:54 +0000 (13:01 -0500)]
cairo-1.0.gir: Use fully qualified shared library

The .so link is for development, we need to reference the full
soname; otherwise things will break without "cairo-devel"
installed.

13 years agoconfigure: Post release version bump
Colin Walters [Wed, 23 Feb 2011 15:38:53 +0000 (10:38 -0500)]
configure: Post release version bump

13 years agoAdd "c:identifier" attribute to GIrNodeValue (for flags and enum values). GOBJECT_INTROSPECTION_0_10_3
Laszlo Pandy [Tue, 22 Feb 2011 15:02:12 +0000 (16:02 +0100)]
Add "c:identifier" attribute to GIrNodeValue (for flags and enum values).

Flags and enums with a GType have a value_nick and value_name
strings available in the class struct. But for flags and enums
without GType, we need to get this information from introspection.

g_base_info_get_name() gives the string for value_nick. In the GIR,
the attribute "c:identifier" is the string neede for value_name.

This patch adds the "c:identifier" from GIR to the typelib for all
flags and enum values. It can be retireved using
g_base_info_get_attribute(info, "c:identifier").

https://bugzilla.gnome.org/show_bug.cgi?id=642757

13 years agoAdd GIMarshalllingTests function with in parameter as well as GError.
Laszlo Pandy [Wed, 23 Feb 2011 12:37:09 +0000 (13:37 +0100)]
Add GIMarshalllingTests function with in parameter as well as GError.

This allows bindings to test the ability to clean up (in)
parameters after a GError is set by the wrapped function.

13 years agoAdd mask flags to GIMarshallingTests to test for flags with the same value.
Laszlo Pandy [Wed, 23 Feb 2011 10:34:13 +0000 (11:34 +0100)]
Add mask flags to GIMarshallingTests to test for flags with the same value.

Glib uses flag aliases, multiple flag names with the same int
value. For example G_IO_FLAG_MASK and G_IO_FLAG_GET_MASK. We need
these flag values to test that gi bindings don't assume that all
flags have the same value.

13 years agoAdd warnings for the (constructor) annotation
Tomeu Vizoso [Fri, 4 Feb 2011 12:16:20 +0000 (13:16 +0100)]
Add warnings for the (constructor) annotation

https://bugzilla.gnome.org/show_bug.cgi?id=641347

13 years agoUpdate exact wording of warning in test
Tomeu Vizoso [Tue, 22 Feb 2011 16:11:45 +0000 (17:11 +0100)]
Update exact wording of warning in test

13 years agoAdd warnings for the (method) annotation
Tomeu Vizoso [Fri, 4 Feb 2011 10:33:26 +0000 (11:33 +0100)]
Add warnings for the (method) annotation

https://bugzilla.gnome.org/show_bug.cgi?id=641347

13 years agoAdd non GType flags to GIMarshallingTests.
Laszlo Pandy [Tue, 22 Feb 2011 11:15:49 +0000 (12:15 +0100)]
Add non GType flags to GIMarshallingTests.

13 years agoGIrNode: fix lookup of cached type nodes
Giovanni Campagna [Fri, 18 Feb 2011 17:14:25 +0000 (18:14 +0100)]
GIrNode: fix lookup of cached type nodes

Different types of array have different type nodes, so they should
produce different keys in the cache of already seen type nodes, to
avoid turning a GByteArray into a reference to a GPtrArray.

https://bugzilla.gnome.org/show_bug.cgi?id=642300

13 years ago[tests] Add GIMarshallingTests function for multiple in and multiple out args.
Laszlo Pandy [Thu, 17 Feb 2011 23:11:30 +0000 (00:11 +0100)]
[tests] Add GIMarshallingTests function for multiple in and multiple out args.

13 years agoFix argument name of MISSING_ATTRIBUTE macro ('ctx' => 'context').
Laszlo Pandy [Thu, 17 Feb 2011 17:01:31 +0000 (18:01 +0100)]
Fix argument name of MISSING_ATTRIBUTE macro ('ctx' => 'context').

The argument was called 'ctx' but the macro was using 'context'.
This wasn't causing the build to fail because the variable
'context' was already defined in all the scopes where this macro
was used.

13 years agoInclude cairo.h instead of cairo/cairo.h
Simon van der Linden [Fri, 11 Feb 2011 20:43:51 +0000 (21:43 +0100)]
Include cairo.h instead of cairo/cairo.h

The cairo/ directory is searched for header files anyway.

13 years agoAccount for arg direction in g_callable_info_get_ffi_arg_types
Jonathan Matthew [Sun, 6 Feb 2011 04:48:58 +0000 (14:48 +1000)]
Account for arg direction in g_callable_info_get_ffi_arg_types

https://bugzilla.gnome.org/show_bug.cgi?id=641647

13 years agoPost release version bump
Colin Walters [Mon, 7 Feb 2011 19:53:46 +0000 (14:53 -0500)]
Post release version bump

13 years agoscanner: Don't fail on mkdir if cachedir already exists GOBJECT_INTROSPECTION_0_10_2
Colin Walters [Thu, 3 Feb 2011 19:35:32 +0000 (14:35 -0500)]
scanner: Don't fail on mkdir if cachedir already exists

Hit this race in practice with two g-ir-scanner invocations
in Fedora's koji.

13 years agoAdd (method) overrides
Tomeu Vizoso [Fri, 21 Jan 2011 17:07:45 +0000 (18:07 +0100)]
Add (method) overrides

So methods such as gtk_drag_dest_set() can be put inside Gtk.Widget

https://bugzilla.gnome.org/show_bug.cgi?id=639945

13 years agoUpdate gobject/gio syntax
Johan Dahlin [Tue, 1 Feb 2011 18:20:44 +0000 (16:20 -0200)]
Update gobject/gio syntax

Now fetches all sections correctly, with updated glib code base
and an updated annotation tool.

13 years agoPreserve gtk-doc section names
Johan Dahlin [Tue, 1 Feb 2011 18:14:00 +0000 (16:14 -0200)]
Preserve gtk-doc section names

Preserve the section names and write them out on the class/record/
interface.

13 years agoSort gio/gobject annotations
Johan Dahlin [Tue, 1 Feb 2011 18:13:52 +0000 (16:13 -0200)]
Sort gio/gobject annotations

13 years agoSort output
Johan Dahlin [Tue, 1 Feb 2011 18:13:08 +0000 (16:13 -0200)]
Sort output

13 years agoAdd missing spaces
Johan Dahlin [Tue, 1 Feb 2011 15:20:19 +0000 (13:20 -0200)]
Add missing spaces

13 years agoAdd (constructor) annotation
Tomeu Vizoso [Fri, 21 Jan 2011 16:32:51 +0000 (17:32 +0100)]
Add (constructor) annotation

https://bugzilla.gnome.org/show_bug.cgi?id=561264

13 years ago[scanner] Don't crash if we don't have a ctype in array element types
Tomeu Vizoso [Fri, 21 Jan 2011 14:32:52 +0000 (15:32 +0100)]
[scanner] Don't crash if we don't have a ctype in array element types

13 years agoPass shared-library as-is to g_module_open
Tomeu Vizoso [Wed, 19 Jan 2011 15:48:47 +0000 (16:48 +0100)]
Pass shared-library as-is to g_module_open

Because it already has the lib prefix and the .so postfix

https://bugzilla.gnome.org/show_bug.cgi?id=639961

13 years agoPreserve the c:type of array elements
Tomeu Vizoso [Thu, 20 Jan 2011 15:34:45 +0000 (16:34 +0100)]
Preserve the c:type of array elements

So the element type has the correct is_pointer flag

https://bugzilla.gnome.org/show_bug.cgi?id=638929

13 years agoDisable missing class structure warning, add a bug reference
Johan Dahlin [Thu, 20 Jan 2011 15:52:48 +0000 (13:52 -0200)]
Disable missing class structure warning, add a bug reference

13 years agoast: cleanup clone() methods
Johan Dahlin [Wed, 19 Jan 2011 13:04:24 +0000 (11:04 -0200)]
ast: cleanup clone() methods

13 years agoDepend on cairo-gobject if available
Tomeu Vizoso [Wed, 19 Jan 2011 11:43:13 +0000 (12:43 +0100)]
Depend on cairo-gobject if available

And set library-name and package accordingly in the cairo .gir

https://bugzilla.gnome.org/show_bug.cgi?id=639831

13 years agoAdd GIMarshallingTests.Interface2
Tomeu Vizoso [Thu, 20 Jan 2011 14:54:41 +0000 (15:54 +0100)]
Add GIMarshallingTests.Interface2

so we can test conflicts when two bases have a vfunc with the
same name.

13 years agoRegenerate gio-2.0.c from glib/master
Pavel Holejsovsky [Thu, 20 Jan 2011 14:07:51 +0000 (15:07 +0100)]
Regenerate gio-2.0.c from glib/master

13 years agoInitialize GIMarshallingTestsBoxedStruct so we can test its values
Tomeu Vizoso [Wed, 19 Jan 2011 18:09:25 +0000 (19:09 +0100)]
Initialize GIMarshallingTestsBoxedStruct so we can test its values

13 years agoAdd GIMarshallingTests function which sets a GError, to test exception handling in...
Laszlo Pandy [Wed, 19 Jan 2011 16:31:16 +0000 (17:31 +0100)]
Add GIMarshallingTests function which sets a GError, to test exception handling in bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=639834

13 years ago[tests] add tests for guint8 arrays
Ignacio Casal Quinteiro [Wed, 19 Jan 2011 11:07:49 +0000 (12:07 +0100)]
[tests] add tests for guint8 arrays

* guint8 can be interpreted as array characters that can be memcpyied
  during marshalling so add a test to check if we are correctly handling
  this codepath

13 years agoAdd a second enum to GIMarshallingTests to support pygi tests for non-gtype enums.
Laszlo Pandy [Mon, 17 Jan 2011 14:09:45 +0000 (15:09 +0100)]
Add a second enum to GIMarshallingTests to support pygi tests for non-gtype enums.

There was a bug in pygi in which non-gtype enums shared values between themselves.
That is, if there was an attribute Enum.THE_VALUE, it would be available on as OtherEnum.THE_VALUE as well.
To make a test case for this bug, we need a second non-gtype enum in GIMarshallingTests to compare with.

13 years agotest: gi_marshalling_tests_array_gvariant_in
Mikkel Kamstrup Erlandsen [Fri, 7 Jan 2011 15:05:07 +0000 (16:05 +0100)]
test: gi_marshalling_tests_array_gvariant_in

A new test to expose a bug in pygobject

https://bugzilla.gnome.org/show_bug.cgi?id=638915

13 years agoMake caller-allocates detection work for struct aliases
Pavel Holejsovsky [Sun, 9 Jan 2011 15:12:46 +0000 (16:12 +0100)]
Make caller-allocates detection work for struct aliases

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

13 years agoAdd support for g[u]intptr in scanner and girwriter.
Pavel Holejsovsky [Tue, 14 Dec 2010 15:28:01 +0000 (16:28 +0100)]
Add support for g[u]intptr in scanner and girwriter.

https://bugzilla.gnome.org/show_bug.cgi?id=634838

13 years agoPost-release version bump GOBJECT_INTROSPECTION_0_10_1
Colin Walters [Wed, 12 Jan 2011 20:12:33 +0000 (15:12 -0500)]
Post-release version bump

13 years agoAdd g_vfunc_info_invoke and g_vfunc_info_get_address
Tomeu Vizoso [Mon, 13 Dec 2010 12:53:55 +0000 (13:53 +0100)]
Add g_vfunc_info_invoke and g_vfunc_info_get_address

for calling the native implementation of a virtual function. Refactors
the code common with g_function_info_invoke in _g_callable_info_invoke.

https://bugzilla.gnome.org/show_bug.cgi?id=637145

13 years agotests: Update expected girs for --c-include
Colin Walters [Tue, 11 Jan 2011 15:59:44 +0000 (10:59 -0500)]
tests: Update expected girs for --c-include

13 years agoRevert "scanner: Stop predeclaring the functions that are to be scanned"
Colin Walters [Tue, 11 Jan 2011 15:46:12 +0000 (10:46 -0500)]
Revert "scanner: Stop predeclaring the functions that are to be scanned"

This reverts commit 88553b4cd6776b7eff9a3b1d63eb8e49be0bd8f2.

13 years agoRevert "scanner: Include all headers when building the dumper binary"
Colin Walters [Tue, 11 Jan 2011 15:46:01 +0000 (10:46 -0500)]
Revert "scanner: Include all headers when building the dumper binary"

This reverts commit bedd7dd61508684b78bd1e95fed8025d48661b48.

13 years agotests: Fix build by including correct headers with --c-include
Benjamin Otte [Tue, 11 Jan 2011 14:25:47 +0000 (15:25 +0100)]
tests: Fix build by including correct headers with --c-include

13 years agoscanner: Rename g_irepository_dump when included from the dumper
Benjamin Otte [Tue, 11 Jan 2011 13:26:29 +0000 (14:26 +0100)]
scanner: Rename g_irepository_dump when included from the dumper

This avoids a naming conflict when compiling GiRepository.gir, where
g_irepository_dump() was defined in an included header.

13 years agogir: Fix build of Gio-2.0.gir
Benjamin Otte [Tue, 11 Jan 2011 13:02:58 +0000 (14:02 +0100)]
gir: Fix build of Gio-2.0.gir

- include gio-unix headers properly into Gio gir
- don't include gsettingsbackend.h

13 years agoscanner: Stop predeclaring the functions that are to be scanned
Benjamin Otte [Mon, 10 Jan 2011 17:53:55 +0000 (18:53 +0100)]
scanner: Stop predeclaring the functions that are to be scanned

Instead, rely on the c_includes. See the previous commit for details.

13 years agoscanner: Include all headers when building the dumper binary
Benjamin Otte [Mon, 10 Jan 2011 17:48:23 +0000 (18:48 +0100)]
scanner: Include all headers when building the dumper binary

This avoids warnings about undefined functions when using init sections
and it removes the requirement to predeclare the get_type functions that
should be called. For an example for this problem with GStreamer, see
https://bugzilla.gnome.org/show_bug.cgi?id=639039

We can now also use gcc's error checking to ensure that users
- specify the correct C includes in the gir file (because otherwise we
  get errors when compiling the dumper).
- the types do actually exist (because again, the compiler will
  complain).

13 years agoscanner: Use packages from --pkg
Benjamin Otte [Mon, 10 Jan 2011 17:15:03 +0000 (18:15 +0100)]
scanner: Use packages from --pkg

Use pkgconfig files from --pkg when compiling the dump binary.

This helps avoiding linker errors when init sections are provided that
use code from those packages.

https://bugzilla.gnome.org/show_bug.cgi?id=639039

13 years agoscanner: Make sure that vfuncs made to the GIR
Tomeu Vizoso [Fri, 7 Jan 2011 16:15:52 +0000 (17:15 +0100)]
scanner: Make sure that vfuncs made to the GIR

* don't skip those associated to a signal
* don't warn if it doesn't have an invoker

https://bugzilla.gnome.org/show_bug.cgi?id=637215

13 years agoscanner: Fix handling of property transfer
Colin Walters [Wed, 5 Jan 2011 21:32:44 +0000 (16:32 -0500)]
scanner: Fix handling of property transfer

* gdumpparser.py was incorrectly passing the ctype for transfer
* Property constructor wasn't actually doing anything with passed transfer
* Parse transfer-ownership in girparser

13 years agoscanner: Properly parse recursive list type nodes
Colin Walters [Wed, 5 Jan 2011 20:56:01 +0000 (15:56 -0500)]
scanner: Properly parse recursive list type nodes

Previously we were just looking for <type> inside a GLib.List,
but it may be <array>.

See bug 637262 for code that triggered this.

13 years agoRegenerate gio-2.0.c
Pavel Holejsovsky [Wed, 5 Jan 2011 19:23:49 +0000 (20:23 +0100)]
Regenerate gio-2.0.c

13 years agoRegenerate gio-2.0.c and gobject-2.0.c from current glib HEAD
Pavel Holejsovsky [Wed, 29 Dec 2010 15:23:12 +0000 (16:23 +0100)]
Regenerate gio-2.0.c and gobject-2.0.c from current glib HEAD

13 years agoAvoid using namespace as identifier in public header files
Kristian Rietveld [Tue, 28 Dec 2010 09:41:16 +0000 (10:41 +0100)]
Avoid using namespace as identifier in public header files

13 years agoPost-release version bump
Owen W. Taylor [Wed, 22 Dec 2010 20:53:25 +0000 (15:53 -0500)]
Post-release version bump

13 years agoFix srcdir != builddir problems for test cases GOBJECT_INTROSPECTION_0_10_0
Owen W. Taylor [Wed, 22 Dec 2010 20:42:41 +0000 (15:42 -0500)]
Fix srcdir != builddir problems for test cases

13 years agoFix error handling when writing out typelib
Owen W. Taylor [Wed, 22 Dec 2010 20:40:53 +0000 (15:40 -0500)]
Fix error handling when writing out typelib

Return a non-zero result when opening the output file fails and
don't use g_error() for other failures when writing out the file,
since such errors should not produce a core dump.

13 years agoRegenerate gir/gio-2.0.c
Pavel Holejsovsky [Tue, 21 Dec 2010 17:22:52 +0000 (18:22 +0100)]
Regenerate gir/gio-2.0.c

13 years agoscanner: avoid crash when annotation explicitly changes 'self' argument
Pavel Holejsovsky [Tue, 21 Dec 2010 15:21:02 +0000 (16:21 +0100)]
scanner: avoid crash when annotation explicitly changes 'self' argument

13 years agoRegenerate gio-2.0.c and gobject-2.0.c from current glib.
Pavel Holejsovsky [Sun, 19 Dec 2010 21:24:10 +0000 (22:24 +0100)]
Regenerate gio-2.0.c and gobject-2.0.c from current glib.

13 years agoFix misc/extract-gobject-sources.sh.
Pavel Holejsovsky [Sun, 19 Dec 2010 09:46:22 +0000 (10:46 +0100)]
Fix misc/extract-gobject-sources.sh.

g-ir-annotation-tool is in builddir root now.  Also avoid feeding
problematic and not-GI-useful headers to it.

13 years agoglib-2.0.c: annotate g_get_environ() and g_listenv()
Dan Winship [Fri, 17 Dec 2010 20:23:46 +0000 (15:23 -0500)]
glib-2.0.c: annotate g_get_environ() and g_listenv()

13 years agomake check pass for recent commits
Colin Walters [Fri, 17 Dec 2010 17:58:59 +0000 (12:58 -0500)]
make check pass for recent commits

* Fix use of tabs
* Update for correct signal parameters

13 years agoRegenerate gio-2.0.c from current glib/gio HEAD.
Pavel Holejsovsky [Fri, 17 Dec 2010 15:34:39 +0000 (16:34 +0100)]
Regenerate gio-2.0.c from current glib/gio HEAD.

13 years agoRegenerate gio-2.0.c
Pavel Holejsovsky [Thu, 16 Dec 2010 20:07:46 +0000 (21:07 +0100)]
Regenerate gio-2.0.c

13 years agoUpdate path to g-ir-annotation-tool in extract-gio-sources.sh.
Pavel Holejsovsky [Thu, 16 Dec 2010 20:00:11 +0000 (21:00 +0100)]
Update path to g-ir-annotation-tool in extract-gio-sources.sh.

13 years agoscanner: support typedefs for container types
Jonathan Matthew [Wed, 27 Oct 2010 09:11:13 +0000 (19:11 +1000)]
scanner: support typedefs for container types

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

13 years agoRegenerate gio-2.0.c from current glib/gio.
Pavel Holejsovsky [Wed, 15 Dec 2010 10:35:01 +0000 (11:35 +0100)]
Regenerate gio-2.0.c from current glib/gio.

13 years agogiscanner: don't ignore signal parameter names from annotations.
Pavel Holejsovsky [Tue, 14 Dec 2010 15:14:55 +0000 (16:14 +0100)]
giscanner: don't ignore signal parameter names from annotations.

If present in annotation, use parameter names from annotation instead
of (object, p0, p1, ...) names generated by dumpparser.

Assign names for all parameters before trying to resolve annotation
types, so that annotations containing forward references to other
arguments, e.g.

* GApplication::open:
* @application: the application
* @files: (array length=n_files) (element-type GFile): an array of #GFiles
* @n_files: the length of @files

13 years agocairo: Fill out GIR with cairo-gobject boxed information
Colin Walters [Mon, 6 Dec 2010 20:10:58 +0000 (15:10 -0500)]
cairo: Fill out GIR with cairo-gobject boxed information

We need these references to correctly handle when an API (say GTK3)
uses the cairo-gobject boxed types in a signal (like "draw").

API consumers need to be using g-i for signal handling to make
this all work.

https://bugzilla.gnome.org/show_bug.cgi?id=636646

13 years agocairo-1.0.gir: Un-foreign RectangleInt
Colin Walters [Mon, 6 Dec 2010 15:26:02 +0000 (10:26 -0500)]
cairo-1.0.gir: Un-foreign RectangleInt

cairo.RectangleInt is a very tricky case; it's (as of now)
boxed in cairo-gobject.  We're trying to fix a few bugs here.  First,
we want to make (out caller-allocates) work.  In order to do that,
we need to explicitly specify the fields so that the typelib
has the right size.

Also, add the boxed type now so that we pick up the right thing
from GObject signal parameters.

See history in bug 623222 and bug 636393.

https://bugzilla.gnome.org/show_bug.cgi?id=636617

13 years agogir: Add Time to xlibs-2.0
Emmanuele Bassi [Thu, 9 Dec 2010 12:31:40 +0000 (12:31 +0000)]
gir: Add Time to xlibs-2.0

13 years agoFix thinko in regress suite.
Pavel Holejsovsky [Tue, 30 Nov 2010 08:41:12 +0000 (09:41 +0100)]
Fix thinko in regress suite.

regress_test_fundamental_sub_object_finalize should call parent's
regress_test_fundamental_object_finalize instead of
regress_test_fundamental_object_unref, otherwise recursion and
double-free might happen.

https://bugzilla.gnome.org/show_bug.cgi?id=636620

13 years agoSupport glib-mkenums comment /*< flags >*/
Andreas Rottmann [Mon, 6 Dec 2010 23:18:15 +0000 (00:18 +0100)]
Support glib-mkenums comment /*< flags >*/

- Modify the lexer to consider all "trigraph" comments specially, and
  parse them for "flags" as well as "private" and "public" (which were
  previously hardcoded).  This change allows for future support of
  multiple annotations inside a single trigraph comment.

- Change the parser to consider the additional field "flags" set by
  the lexer when constructing enums.

- Add a test case for the "flags" trigraph comment to the scanner
  annotation tests.

See <https://bugzilla.gnome.org/show_bug.cgi?id=631530>.

13 years agoDon't emit shadowed methods into the typelib
Andreas Rottmann [Mon, 6 Dec 2010 23:07:08 +0000 (00:07 +0100)]
Don't emit shadowed methods into the typelib

Ignore shadowed methods when parsing the GIR.

13 years agog_object_info_find_method_using_interfaces: Fix crash if not found
Colin Walters [Mon, 6 Dec 2010 16:14:53 +0000 (11:14 -0500)]
g_object_info_find_method_using_interfaces: Fix crash if not found

If a method wasn't found, we'd try to unref NULL.

13 years agog_object_info_find_method_using_interfaces: New function
Colin Walters [Fri, 22 Oct 2010 18:22:19 +0000 (14:22 -0400)]
g_object_info_find_method_using_interfaces: New function

Pull this down into introspection from gjs; this will allow us
to cache this better in the future (for example, by caching the
infos for interfaces in the info for the object).

https://bugzilla.gnome.org/show_bug.cgi?id=632924

13 years agoMake sure we don't mark GInitiallyUnownedClass as disguised
Tomeu Vizoso [Mon, 6 Dec 2010 15:10:02 +0000 (16:10 +0100)]
Make sure we don't mark GInitiallyUnownedClass as disguised

13 years agoAdd directory index section
Colin Walters [Mon, 25 Oct 2010 17:33:01 +0000 (13:33 -0400)]
Add directory index section

Use the internal perfect hashing API to add an index to the directory.

To support this, add the notion of additional "sections" to the
typelib.  A section index is inserted between the header and the
directory.

https://bugzilla.gnome.org/show_bug.cgi?id=554943

13 years ago.gitignore: Update
Colin Walters [Thu, 11 Nov 2010 21:09:51 +0000 (16:09 -0500)]
.gitignore: Update

13 years agoAdd internal hashing API designed for the typelib
Colin Walters [Mon, 25 Oct 2010 11:56:05 +0000 (07:56 -0400)]
Add internal hashing API designed for the typelib

In multiple places in the typelib, but most importantly the directory,
we need some fast indexing.  Perfect hashing, as implemented by CMPH
(previous commit), is an exact fit for the problem domain.

Add an API built on top of CMPH which maps strings->guint16 (we just
need a guint16 for the typelib index).

https://bugzilla.gnome.org/show_bug.cgi?id=554943

13 years agocmph-bdz-test: New test
Colin Walters [Thu, 11 Nov 2010 20:34:11 +0000 (15:34 -0500)]
cmph-bdz-test: New test

Add a basic test of CMPH (without any layers on top).

13 years agocmph: Squash a lot of gcc -Wall compiler warnings
Colin Walters [Thu, 2 Dec 2010 16:34:46 +0000 (11:34 -0500)]
cmph: Squash a lot of gcc -Wall compiler warnings

* Functions taking no parameters need to explicitly say (void).
* Mark some functions as static that are
* Comment out an unused function in bdz.c
* Change loop indicies "i" to be unsigned if our limit is unsigned

13 years agocmph: Add automake rules
Colin Walters [Thu, 11 Nov 2010 20:14:07 +0000 (15:14 -0500)]
cmph: Add automake rules

13 years agocmph: Modify types to use GLib types
Colin Walters [Thu, 11 Nov 2010 20:03:20 +0000 (15:03 -0500)]
cmph: Modify types to use GLib types

The 64 bit #ifdefs is just hackish and broken; e.g. it will fail
on ppc64/linux and WIN64.

Use the GLib typedefs, which I know are more correct.

13 years agoImport CMPH 1.0
Colin Walters [Thu, 11 Nov 2010 20:01:07 +0000 (15:01 -0500)]
Import CMPH 1.0

This will be used for typelib indexing.  See README-CMPH-IMPORT.txt
for more information.

13 years agoMakefile.am: Add GTESTER_PROGS
Colin Walters [Thu, 11 Nov 2010 20:33:41 +0000 (15:33 -0500)]
Makefile.am: Add GTESTER_PROGS

This is a list of test programs to run under "gtester".

13 years agoscanner: Switch to only Python 2.5 C API usage
Colin Walters [Fri, 3 Dec 2010 15:41:50 +0000 (10:41 -0500)]
scanner: Switch to only Python 2.5 C API usage

PyUnicode_FromString is 2.6 only, we can use PyUnicode_DecodeUTF8
easily enough though.

Also, fix memory leaks in this function; we leaked the buffer
on success, and also in most failure paths.

13 years agoscanner: More XML unicode fixes
Colin Walters [Thu, 2 Dec 2010 19:58:27 +0000 (14:58 -0500)]
scanner: More XML unicode fixes

Coerce input temporarily inside xmlwriter into Unicode to do
string manipulation, and then only convert it to "UTF8str" when
writing into the data buffer.

13 years agoAdd proper unicode support to the source scanner
Johan Dahlin [Thu, 2 Dec 2010 16:10:33 +0000 (14:10 -0200)]
Add proper unicode support to the source scanner

The assumption is that the only allowed source encoding
is utf-8. Always strings as unicode and fix up the transformer
and xml writer to properly output utf-8.

13 years agoSupport hexadecimal escapes in constants
Colin Walters [Fri, 29 Oct 2010 22:37:43 +0000 (18:37 -0400)]
Support hexadecimal escapes in constants

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

13 years agoscanner: Only mark structures and unions as out-caller-allocates
Colin Walters [Fri, 19 Nov 2010 21:59:02 +0000 (16:59 -0500)]
scanner: Only mark structures and unions as out-caller-allocates

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).

13 years agoUpdate gio annotations from GLib git
Colin Walters [Thu, 18 Nov 2010 01:06:30 +0000 (20:06 -0500)]
Update gio annotations from GLib git

13 years agogtk-doc: Update for renamed libgirepository-internals.la
Colin Walters [Wed, 17 Nov 2010 21:36:26 +0000 (16:36 -0500)]
gtk-doc: Update for renamed libgirepository-internals.la

13 years agoglib-2.0.c: annotate the arrays in g_spawn_sync/_async
Dan Winship [Wed, 17 Nov 2010 16:41:44 +0000 (11:41 -0500)]
glib-2.0.c: annotate the arrays in g_spawn_sync/_async

13 years agogirepository: Consistently prefix internal functions with _
Colin Walters [Tue, 16 Nov 2010 20:08:33 +0000 (15:08 -0500)]
girepository: Consistently prefix internal functions with _

This should better avoid them being exported.  Rename
girepository-parser.la to girepository-internals.la for clarity.