Commit Graph

10 Commits

Author SHA1 Message Date
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Tor Lillqvist
2ab76c5b36 Make the GVariant code compile with a non-gcc compiler
In particular, tested with Microsoft Visual C 2008.
2010-03-21 11:22:06 +02:00
Ryan Lortie
75f761bcaa GVariant variable arguments, tests, cleanups
Merge GVariant variable arguments support and put it under tests.

Also, remove the hack of the test case directly '#include'ing .c files
from glib/.  Instead, create a non-installed gvariant-internal.h that
the tests can include and make the symbols in it visible on the symbol
table of the shared library.  These symbols (as they are present in no
installed header files) are not part of the API of GLib.

Increase test coverage in a few other areas.
2010-03-08 10:31:19 -05:00
Ryan Lortie
a3c7406cce GVariantTypeInfo: fix thread safety bug
Issue caught by Michael Meeks.  This patch based on his.

GVariantTypeInfo was dropping the reference count on the TypeInfo
structure before removing it from the hash table.  This means that
another thread could come along and grab the value from the hash table
in the meantime.

Solve this by holding the lock on the table before dropping the
reference.

Also: move the hash table initialisation inside of the lock to remove
the standard double-initialisation race plus a more insidious issue
caused by the fact that we free the hash table once it becomes empty.
2010-02-25 18:13:59 -05:00
Ryan Lortie
e04c9c699c add missing #include "config.h" 2010-02-07 15:43:06 -05:00
Ryan Lortie
218c691ca3 remove #include <glib.h> from some .c files
include individual headers instead
2010-02-07 03:14:28 -05:00
Ryan Lortie
9f30337573 GVariantTypeInfo: free hash table when not in use 2010-02-07 02:52:07 -05:00
Ryan Lortie
6d6d7a8bb2 GVariantTypeInfo tweaks
1) always emit ending type FIXED for fixed sized items

    The serialiser needs to know if it dealing with a fixed sized item
    in case the serialised data is corrupt and the item has the wrong
    size.

  2) add a macro that will be used by test cases to check that all
     memory has been freed.
2010-02-04 09:08:51 -05:00
Ryan Lortie
0ac2277b49 GVariantTypeInfo changes
- rename 'type' in MemberInfo to 'type_info'
 - add 'ending_type' field to MemberInfo
 - document how to find the ending
2010-02-02 23:39:21 -05:00
Ryan Lortie
0f246e28ca merge GVariantTypeInfo 2010-01-30 20:15:25 -05:00