Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jun 4, 2011
  1. 2.29.6

    Matthias Clasen authored
  2. Fix doc syntax

    Matthias Clasen authored
  3. Fix links in gio docs

    Matthias Clasen authored
  4. @yarons

    Updated Hebrew translation.

    yarons authored
  5. Fix parameter documentation for many functions

    Matthias Clasen authored
    Use the opt-out mechanism introduced in gtk-doc 1.16 to work
    around problems with the _utf8 renaming games that the win32
    port is playing in our headers.
  6. Fix doc typos

    Matthias Clasen authored
    Now with fewer broken links...
  7. Use tar-ustar to avoid name length limitations

    Matthias Clasen authored
    Also use dist-bzip2.
  8. Fix up gdbus invocation in example

    David Zeuthen authored
    Signed-off-by: David Zeuthen <>
  9. gdbus: Add a way to emit a signal

    David Zeuthen authored
    See where it was
    discovered that dbus-send(1) actually doesn't work (either libdbus-1's
    flush implementation or dbus-send(1)'s usage of it is broken) so it's
    useful to have here.
    Signed-off-by: David Zeuthen <>
  10. Fix typos in "Migrating to GDBus" docs

    David Zeuthen authored
    It's Skeleton now, not Stub.
    Signed-off-by: David Zeuthen <>
  11. Distcheck fixes

    Matthias Clasen authored
    Fix VPATH builds.
  12. Distcheck fixes

    Matthias Clasen authored
    Accidentally committed debug leftover.
  13. Update NEWS

    Matthias Clasen authored
  14. @yarons

    Updated Hebrew translation.

    yarons authored
  15. @bonzini
  16. Add a test for the previous fix

    Matthias Clasen authored
  17. GRand: avoid overflow

    Matthias Clasen authored
    Otherwise, g_random_double_range (-G_MAXDOUBLE, G_MAXDOUBLE)
    doesn't work as expected.
  18. g_mkdir_with_parents: cope with dirs popping into existence

    Matthias Clasen authored
    Don't bail out if a directory suddenly turns out to exist
    after all. Proposed in bug 612729.
  19. @mzabaluev
  20. @mzabaluev
  21. @mbarnes

    Have g_queue_remove() return a boolean

    mbarnes authored Matthias Clasen committed
    g_queue_remove() should return a boolean so callers can verify that an
    element was found and removed, as in the following example:
        if (g_queue_remove (queue, referenced_object))
            g_object_unref (referenced_object);
    Similarly, g_queue_remove_all() should return the number of elements
    found and removed.
  22. gthread: avoid locking in _get_mutex_impl

    Wim Taymans authored Matthias Clasen committed
    When getting the mutex implementation of a static mutex, avoid taking the global
    lock every time but only take the lock when there was no mutex and we need to
    create one.
  23. @alexlarsson
  24. @alexlarsson
  25. @alexlarsson

    Make g_datalist_get_data not look up the quark

    alexlarsson authored Matthias Clasen committed
    Instead of converting the string to a quark and comparing quarks we
    use the new lockless g_quark_to_string and just compare the quarks
    in the datalist with the given string.
    This means we avoid the global lock for string to quark. Additionally
    most of the time the data list will be quite short, so the cost of
    doing the sting comparisons is likely similar to that of the quark
    hashtable lookup (which does at least one string comparison for a
    successfull lookup).
  26. @alexlarsson

    Make quark to string lockless

    alexlarsson authored Matthias Clasen committed
    We do this by assigning to g_quarks atomically and leaking it when
    replacing it atomically. Then its safe to consume the array
    on the reader side (atomically).
    Also, since we're leaking quarks on growing, bump the block size
    so that we're not leaking as much. gtk3-demo allocates > 1500 quarks,
    and gnome apps > 3000. I'm setting the block to 2048 which means no
    leaks for small gtk3 apps and just one leak for gnome apps.
  27. @alexlarsson

    Make g_datalist not use a global lock and perform better

    alexlarsson authored Matthias Clasen committed
    This implementation uses a per-list bitlock for user data, and a
    simple array rather than a linked list which uses less memory and less
    allocations. It also gets better cache behaviour since related things
    are stored close to each other.
  28. Add pointer bitlocks to the docs

    Matthias Clasen authored
  29. @desrt

    Implement pointer sized bitlocks

    desrt authored Matthias Clasen committed
    Based on a patch from Alexander Larsson.
Commits on Jun 3, 2011
  1. @desrt

    bitlock: hand-code assembly version for x86

    desrt authored Matthias Clasen committed
    The __sync_fetch_and_or() operation on x86 is a bit suboptimal when the
    result isn't ignored.  Normally we could use the 'lock or' assembly
    instruction to accomplish this, but this instruction discards the
    previous value.
    In order to work around this issue, GCC is forced to emit a
    compare-and-exchange loop.
    We can easily use the 'lock bts' instruction, though.  It can't be used
    in the general case for __sync_fetch_and_or() but it works great for our
    case (test and set a single bit).
    I filed a bug against GCC[1] to get this exposed as a new intrinsic (or
    have the optimiser detect the case) but until then we'll hand-code it on
    x86 and amd64.
    The uncontended case sees a 31% improvement on my test machine.
  2. @gcampax @cgwalters

    gvariant: fix introspection annotations

    gcampax authored cgwalters committed
    g_variant_get_strv and g_variant_get_bytestring return arrays that
    are null terminated and have an explicit length. Since gjs doesn't
    support (out) arrays with length, mark them also null-terminated
    (but leave the length annotation, so pygobject can remove the argument)
  3. Fix include path for gdbus-codegen example XML

    David Zeuthen authored
    Signed-off-by: David Zeuthen <>
  4. Fix docs for D-Bus introspection data structures

    David Zeuthen authored
    Mark structs as boxed types and use /*< public >*/ so the struct
    members are properly shown.
    Signed-off-by: David Zeuthen <>
  5. Move gdbus-codegen example code and docs into separate directories

    David Zeuthen authored
    This avoids the generated types (e.g. ExampleAnimal, ExampleCat,
    ExampleObject and ExampleObjectManagerClient) being referenced in the
    core gio docs. This was requested by Matthias.
    Signed-off-by: David Zeuthen <>
  6. @cgwalters

    gobject: Use _ prefixing in private headers over G_GNUC_INTERNAL in p…

    cgwalters authored
    …ublic headers
    This helps out gtk-doc and g-ir-scanner, and also makes much clearer
    what's private versus public.
Something went wrong with that request. Please try again.