Commit Graph

31122 Commits

Author SHA1 Message Date
Ryan Lortie
44db2b6b74 Bug 620349 – utf8ify GVariant printer
Take advantage of our knowledge that GVariant strings are always valid
utf8 when printing and parsing:

  - allow valid printing unicode characters to pass through unescaped

  - escape non-printing characters using \uxxxx or \Uxxxxxxxx format

  - do the same in the parser

  - update existing test cases to use utf8, add a new test case
2010-06-03 09:41:33 +02:00
Milan Bouchet-Valat
3682666140 Annotate GVariant and GSettings _strv() functions
Add GObject introspection annotations so that the length parameter is
correctly detected for g_variant_new_strv(), g_variant_get_strv() and
g_variant_dup_strv(). Also specify that it can be a NULL pointer in
g_variant_get_strv() and g_variant_dup_strv().

For g_settings_set_strv(), detect that a NULL value is allowed, meaning
empty array.

Closes bug #620384.

Signed-off-by: Ryan Lortie <desrt@desrt.ca>
2010-06-02 19:37:30 +02:00
Ryan Lortie
0e691f27ec improve gitignore (systemtap) 2010-06-02 19:37:30 +02:00
Tomeu Vizoso
d531541b8a Fix marshalling of GStrv.
* gir/gimarshallingtests.[hc]: Add a test for GStrv in function args and
as struct fields.

* girepository/giroffsets.c: Correctly compute the size of structs with
  array fields

* girepository/girparser.c: Set is_pointer to FALSE for arrays with
  fixed size that are inside structs.

* giscanner/glibtransformer.py: Special case GStrv as arrays of utf8.

* giscanner/annotationparser.py: Make full transfer the default for
arrays of char* returned by functions.

https://bugzilla.gnome.org/show_bug.cgi?id=620170
2010-06-02 19:36:59 +02:00
Kjartan Maraas
20ab1e6673 Updated Norwegian bokmål translation 2010-06-02 15:41:33 +02:00
Ryan Lortie
b5c8496b4c Support NULL value for g_settings_set_strv()
Allow easy setting of the empty array that we lost with the last patch.
2010-06-02 04:00:58 +02:00
Milan Bouchet-Valat
bf9edb5cd5 Remove length parameter for g_settings_[gs]et_strv
Length of the array is redundant since it's NULL-terminated. This is not
consistent with many GLib and GTK+ functions, and adds complexity with
no real gain, while these convenience functions should be kept simple.

Closes bug #620312
2010-06-02 03:54:23 +02:00
Johan Dahlin
6436e013c9 [girepository] Fix the remaning headers as well 2010-06-01 10:23:46 -03:00
Johan Dahlin
6edee7684c [girepository] Fix include path
We're installing the headers without the girepository/ prefix,
so remove that in all internal headers to not break the out of
tree scanning.
2010-06-01 10:15:12 -03:00
Johan Dahlin
a94a11b5c0 [gifunctioninfo] Move out to another file
Move out GIFunctionInfo to gifunctioninfo.[ch]
2010-05-31 17:55:52 -03:00
Johan Dahlin
64ee6cb5b0 [gtypelib.ch] Rename to gitypelib.ch
Rename gtypelib.h -> gitypelib-internal.h and rename
gtypelib.c to gitypelib.c
2010-05-31 17:47:50 -03:00
Johan Dahlin
67126e38d4 [girepository] Split out GIBaseInfo
Split out GIBaseInfo to a separate source file.
Move out definitions to gibaseinfo.h/gitypelib.h/gitypes.h
and girepository-private.h

Install gibaseinfo.h/gitypelib.h and gitypes.h as well, but
require users to include girepository.h
2010-05-31 17:47:45 -03:00
Johan Dahlin
7a383b6126 [girepository] Correct GI_IS_ENUM_INFO macro
A GIEnumInfo represents either an enum or a set of flags
2010-05-30 21:56:25 -03:00
Johan Dahlin
58ac4f880a [ginfo] Document enum and enum values
Document GIEnumInfo and GIValueInfo
2010-05-30 21:55:55 -03:00
Johan Dahlin
81a263edfe [info] Fix-up prototype indentation 2010-05-30 21:55:45 -03:00
Jorge González
dc7b1c5b42 Updated Spanish translation 2010-05-30 18:23:21 +02:00
Fran Diéguez
7d04f0a915 Updated Galician translations 2010-05-30 17:43:57 +02:00
Andika Triwidada
1afaeb9976 Updated Indonesian translation 2010-05-30 17:10:51 +07:00
Jorge González
be94532e63 Updated Spanish translation 2010-05-29 12:06:16 +02:00
Johan Dahlin
a6c822d505 [build] Remove gcov support
It's been broken for some time, remove it instead of letting
it bitrot.
2010-05-28 20:49:54 -03:00
Johan Dahlin
3bab700cd4 [doc] Document GIErrorDomainInfo methods 2010-05-28 20:49:39 -03:00
Jorge González
b208c2d756 Updated Spanish translation 2010-05-28 20:21:02 +02:00
Jorge González
e7c1aaf925 Updated Spanish translation 2010-05-28 19:45:51 +02:00
Johan Dahlin
c2b89be46e [GITypeInfo] Document and check type
Document GITypeInfo and check the info type in all functions.
2010-05-28 13:47:48 -03:00
Yaron Shahrabani
5451cd0804 Updated Hebrew translation. 2010-05-28 16:57:56 +03:00
Yaron Shahrabani
ecc5fbb479 Updated Hebrew translation. 2010-05-28 16:54:58 +03:00
Johan Dahlin
a8eff27124 Remove leftover function 2010-05-28 08:49:49 -03:00
Lin Ma
c874a76a8b After talk with FEN dev, we dicide simply disable monitor function if
the current filesystem doesn't suport FEN.
2010-05-28 16:58:56 +08:00
Johan Dahlin
27c9f77335 [girepository] Check types function/callable/arg
Check the info types for functions, callable and args.
Verifies that the right type is sent in
2010-05-27 23:25:36 -03:00
Johan Dahlin
e66f46042d [girepository] Add macros for checking struct type
Add macros for checking the sub-struct type. These are
similar to the standard GObject macros.
2010-05-27 23:18:58 -03:00
Alexander Larsson
8e41be13ef Add dtrace and systemtap support for gobject
This adds static markers and systemtap tapsets for:

* type creation
* object lifetimes (creation, ref, unref, dispose, finalize)
* signal creation and emission

Signal emissions and finalization marker have a corresponding
*_end (or *-end in dtrace) version that is when the corresponding
operation is finished.

https://bugzilla.gnome.org/show_bug.cgi?id=606044
2010-05-27 14:51:41 -04:00
Alexander Larsson
bef9efd0a9 Initial support for dtrace and systemtap
This adds static markers for dtrace, which are also usable
by systemtap. Additionally it adds a tapset for systemtap
that makes it easier to use the static markers.

These are enabled by default.

This initial set of probes is rather limited:

* allocation and free using g_malloc & co
* allocation and free using g_slice
* gquark name tracking (useful for converting quarks to strings in probes)

Notes on naming:

Its traditional with dtrace to use probe names with dashes as
delimiter (slice-alloc). Since dashes are not usable in identifiers
the C code uses double underscores (slice__alloc) which is converted
to dashes in the UI. We follow this for the shared lowlevel probe
names.

Additionally dtrace supports putting a "provider" part in the probe
names which is essentially a namespacing thing. On systemtap this
field is currently ignored (but may be implemented in the future), but
this is not really a problem since in systemtap the probes are
specified by combining the solib file and the marker name, so there
can't really be name conflicts.

For the systemtap tapset highlevel probes we instead use names that
are systemtapish with single dashes as separators.

https://bugzilla.gnome.org/show_bug.cgi?id=606044
2010-05-27 14:51:41 -04:00
Mikhail Zabaluev
c3bc0f4f8f Optimized the overlong sequence check in g_utf8_get_char_extended()
Rather make it branch to get the due sequence length for the resulting
character code, we can as well get the minimum code value in the initial
branching.
2010-05-27 14:00:12 -04:00
Ryan Lortie
30a8562946 GSettings schema docs: mention need for EXTRA_DIST
Mention that you will need to use EXTRA_DIST for your schema file if it
is distributed with your project.
2010-05-27 13:11:49 -04:00
Ryan Lortie
f2687f588e Remove duplicate copies of migration docs
Fixup for commit 133f66538d which
duplicated the contents of most of the migration documentation by
splitting it out into separate files but keeping the original file
intact (with a rename).

This removes the duplicated content from the renamed file.
2010-05-27 13:07:54 -04:00
Ryan Lortie
b3593693d9 gsettings m4: check for .xml in src/builddir
This checks for the .gschema.xml file in the srcdir and builddir and
runs the schema validation on which one it finds.  This handles
non-srcdir builds in both cases: .gschema.xml is in the tarball and
.gschema.xml is generated.
2010-05-27 11:58:54 -04:00
Ryan Lortie
e7927faf17 GVariant: One more FreeBSD fix
FreeBSD's malloc() sometimes returns unaligned memory if you are
requesting small sizes.  This can get GVariant into trouble.  For
example, consider the type "mmi" containing the value "just nothing".
According to the type signature, the memory containing this should be
aligned to a boundary of 4 since it might contain an int.  The
serialised size of this value is 1 byte, however, and when you ask
FreeBSD to allocate memory of that size, it knows you can't put an int
into it so it doesn't bother aligning it.

This patch modifies the GVariant serialiser to not assert the alignment
constraint in the case that the size of the serialised data is smaller
than its own alignment requirement.
2010-05-27 11:32:34 -04:00
Ryan Lortie
271997deb5 More alignment-related fixes.
Partial-backout 8a21d8d233.  The
assertions should have remained relaxed since these functions are used
with non-posix_memalign()ed data.
2010-05-27 11:07:19 -04:00
Lin Ma
866e3dda60 Remove unused code. 2010-05-27 10:24:58 +08:00
Colin Walters
23e9949e1d Remove g_arg_info_is_dipper from public API
It wasn't useful, the new g_arg_info_is_caller_allocates is.
2010-05-26 18:14:39 -04:00
Ryan Lortie
91ec834456 include "config.h" for HAVE_POSIX_MEMALIGN 2010-05-26 17:35:18 -04:00
Ryan Lortie
8a21d8d233 Use aligned memory in GVariant test cases.
The GVariant serialiser works well with non-8-aligned memory, but the
comparison serialiser in the test case depends on memory being
8-aligned.  Use posix_memalign() to get the memory used by this
serialiser.
2010-05-26 17:31:52 -04:00
Colin Walters
183102104a [mainloop-test] Fix compilation errors 2010-05-26 16:21:15 -04:00
Colin Walters
ba1163a33c [tests/gvariant] Handle flavored_free(NULL), since flavored_malloc can return NULL 2010-05-26 15:59:36 -04:00
Colin Walters
a20c2ad7c2 [girparser] Don't hard require caller-allocates since it breaks parsing
We need to support parsing older .girs for inclusion purposes.  (But
we should probably have an explicit .gir version, and require the
attribute for newer versions)
2010-05-26 13:53:29 -04:00
Colin Walters
46d9ef151e Support (out caller-allocates)
People have wanted support for marking (out) on functions of the
form:

/**
 * clutter_color_from_pixel:
 * @pixel: A pixel
 * @color: (out): Color to initialize with value of @pixel
 */
void
clutter_color_from_pixel (guint32 pixel, ClutterColor *color);

Where the caller is supposed to have allocated the argument; the
C function just initializes it.  This patch adds support for this
argument passing style to introspection.  In this case, we see the
(out), and notice that there's only a single indirection (*) on
the argument, and assume that this means (out caller-allocates).

https://bugzilla.gnome.org/show_bug.cgi?id=604749
2010-05-26 13:00:56 -04:00
Jorge González
88a1e6c102 Updated Spanish translation 2010-05-26 18:12:22 +02:00
Jorge González
3912388038 Updated Spanish translation 2010-05-26 18:09:46 +02:00
Lin Ma
798eed43a2 bugster#6955199, on hsfs portfs will fail, and FEN backend will fail
to run lstat and port_associate on root node.
2010-05-26 14:32:37 +08:00
Havoc Pennington
6b53e4826f GSource: add g_source_set_name, g_source_get_name, g_source_set_name_by_id
These allow applications to give meaningful names to their sources.
Source names can then be used for debugging and profiling, for
example with systemtap or gdb.

https://bugzilla.gnome.org/show_bug.cgi?id=606044
2010-05-25 16:59:22 -04:00