commit bd6da84a4aec74e47f5d70e8ed18695c37e746c6
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 17:30:48 2013 +0100

    release 3.7.4

 NEWS | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

commit c90ef9dfac7dd51ec82c99c3605915996bea0f73
Author: Simonas Kazlauskas <simonas@kazlauskas.me>
Date:   Tue Dec 4 15:45:00 2012 +0200

    Allow setting values through GtkTreeModelFilter

    Previously, trying to set a value through filter throwed an exception
    that the
    model has no set_value() method. You had to first retrieve the
    deepest child
    model and set value to it.

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

 gi/overrides/Gtk.py         |  5 +++++
 tests/test_overrides_gtk.py | 11 +++++++++++
 2 files changed, 16 insertions(+)

commit b092630efc691a6f7ae94ae896193254f5a961a6
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 12:37:18 2013 +0100

    tests: Add (failing) test case for GParamSpec arguments

    This reproduces
    https://bugzilla.gnome.org/show_bug.cgi?id=682355

 tests/test_gi.py | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 52d84b5da7f9fd4f65faea4e6fe3d250f937a208
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 12:20:27 2013 +0100

    tests: Skip struct string member tests with g-i 1.34

    We still support building against gobject-introspection 1.34, so
    skip tests
    which do not work with that version yet.

 tests/test_gi.py | 8 ++++++++
 1 file changed, 8 insertions(+)

commit f9429192cb1002725a11a75a7b8f9300375b9caf
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 12:15:27 2013 +0100

    Support GParamSpec signal arguments from Python

    In pyg_value_from_pyobject(), recognize both the real GI
    GObject.ParamSpec type
    as well as the statically wrapped _gobject.GParamSpec type.

    This fixes marshalling GObject.ParamSpec signal/vfunc arguments.

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

 gi/_gobject/pygtype.c    |  6 +++++-
 tests/test_signal.py     | 12 ++++++++++++
 tests/testhelpermodule.c | 13 +++++++++++++
 3 files changed, 30 insertions(+), 1 deletion(-)

commit 99f72925c7de76611f7592bce9d8217a9ff46809
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 11:48:11 2013 +0100

    pygobject_emit(): Fix cleanup on error

    Dot not try to unset GValues which have not been initialized yet,
    when type
    conversion fails for a parameter.

 gi/_gobject/pygobject.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit acef1d3266d11b2465d61185a55526df879a5c62
Author: Simon Feltman <sfeltman@src.gnome.org>
Date:   Mon Dec 31 19:01:57 2012 -0800

    Add signal emission methods to TreeModel which coerce the path
    argument

    Override TreeModel row_changed, row_inserted, row_has_child_toggled,
    row_deleted, and rows_reordered methods to accept python iterables as
    the path parameter. This is for compatibility with pygtk and
    consistency
    with the rest of the TreeModel and TreePath overrides.

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

 gi/overrides/Gtk.py         | 31 ++++++++++++++++++++++++++++---
 tests/test_overrides_gtk.py | 27 +++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 3 deletions(-)

commit 9cfba517e1a6dced5e66786b28ed5e101b7b4a29
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 10:36:36 2013 +0100

    Simplify overrides and tests using the new GObject.Value override

    The previous commit added support for constructing a GObject.Value
    with a given
    GType and Python object conversion. Use this to simplify the Gtk
    override and
    the tests that construct GValues.

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

 gi/overrides/Gtk.py         | 88
 +++------------------------------------------
 tests/test_gi.py            | 26 +++++---------
 tests/test_overrides_gtk.py |  2 +-
 tests/test_signal.py        | 12 ++-----
 4 files changed, 17 insertions(+), 111 deletions(-)

commit f62b98398177991bfdbe0b6753342e79e6cf170a
Author: Bastian Winkler <buz@netbuz.org>
Date:   Mon Jan 14 10:26:08 2013 +0100

    Add override for GValue

    Override GValue with a custom constructor and set_value()/get_value()
    methods. This allows you to call

    >>> GObject.Value(GObject.TYPE_FLOAT, 42.23)

    instead of

    >>> value = GObject.Value()
    >>> value.init(GObject.TYPE_FLOAT)
    >>> value.set_float(42.23)

    This is especially useful for overrides that need to convert a Python
    value to a expected type like G_TYPE_FLOAT.

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

 gi/overrides/GObject.py | 127
 +++++++++++++++++++++++++++++++++++++++++++++++-
 tests/test_gobject.py   |  47 +++++++++++++++++-
 2 files changed, 172 insertions(+), 2 deletions(-)

commit dc3d21173b75232f7ea0b9913f7309486456a69d
Author: Mike Gorse <mgorse@suse.com>
Date:   Thu Jan 10 15:48:30 2013 -0600

    Mark caller-allocated boxed structures as having a slice allocated

    When a C function takes a pointer and fills it with a boxed structure
    (ie,
    gtk_tree_store_insert_with_values), pygi should deallocate the slice
    when the
    box is no longer being used.

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

 gi/pygi-marshal-to-py.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 0c496d230fee7fd3ada90ee9af10e0bc1e29ee12
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Fri Sep 14 21:31:32 2012 -0400

    pygi-property: Support boxed GSList/GList types

    Note that this does not yet work for construct properties.

    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>

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

 gi/pygi-property.c | 10 ++++++++--
 tests/test_gi.py   | 21 +++++++++++++++++++++
 2 files changed, 29 insertions(+), 2 deletions(-)

commit 074f10d815453e58f4bee2f440c5db799add3876
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 07:48:31 2013 +0100

    test_gio: Fix for Python 2

    Python 2 does not yet take an "encoding" argument for str(), while
    Python 3
    requires it. Use a less fancy static test string instead.

 tests/test_gio.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 734979d0c8317201148a7e94a323225fba2d1635
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 07:40:10 2013 +0100

    tests: Add missing backwards compat methods for Python 2.6

    Define skipIf(), assertLess(), and assertLessEqual() for running
    the tests with
    Python 2.6.

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

 tests/runtests.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit dc0dafd1f6ca3ebbf04210768a45587387e44551
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Jan 14 07:34:46 2013 +0100

    tests: Stop using assertSequenceEqual()

    assertSequenceEqual() does not yet exist in Python 2.6, and is
    not necessary
    either as assertEqual() on sequences automatically does list
    comparison.

    Part of https://bugzilla.gnome.org/show_bug.cgi?id=691646

 tests/test_gtype.py  | 6 ++----
 tests/test_signal.py | 6 ++----
 2 files changed, 4 insertions(+), 8 deletions(-)

commit 0a5587b6a56d417a6703e342f153596f08cd5889
Author: Simon Feltman <sfeltman@src.gnome.org>
Date:   Sun Jan 13 18:19:51 2013 -0800

    Allow setting TreeModel values to None

    Change TreeModel.set_value to use an empty but initialized GValue when
    None is used as the value argument. This allows clearing of cell data
    which was not accessible due to auto-coercion.

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

 gi/overrides/Gtk.py         | 11 ++++++++---
 tests/test_overrides_gtk.py |  8 ++++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

commit 5ae129da436793478750f0dc9427a174a980e10b
Author: Mike Gorse <mgorse@suse.com>
Date:   Thu Jan 10 16:42:17 2013 -0600

    Set clean-up handler for marshalled arrays

    Arrays did not have a cleanup handler set in some cases, resulting
    in a leak.

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

 gi/pygi-cache.c | 1 +
 1 file changed, 1 insertion(+)

commit 58bd307c57d542a8f69867dea2d0a0eb51230c7b
Author: Vadim Rutkovsky <vrutkovs@redhat.com>
Date:   Fri Jan 11 15:41:27 2013 +0100

    Support setting string fields in structs

    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>

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

 gi/pygi-info.c   |  3 ++-
 tests/test_gi.py | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

commit f2bcaa43c1158040a8c2cbc3a2ba5070d126a410
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Fri Jan 11 14:58:44 2013 +0100

    Re-enable test_gi.TestPropertiesObject.test_char test

    The gobject-introspection bug got fixed:
    https://bugzilla.gnome.org/show_bug.cgi?id=691524

 tests/test_gi.py | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

commit 9a8c49087cf400e01c1f78241fa4d74b4d15f54e
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Fri Jan 11 09:46:56 2013 +0100

    tests: Re-enable test_callback_scope_call_array() check

    Drop the expected failure from test_callback_scope_call_array()
    and just add
    the explicit array length arguments. While it would look cleaner to
    not pass
    them, it is probably not worth breaking the API for this.

 tests/test_everything.py | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit 609636424b5f9b659e99a4bb53a48c165187c430
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Fri Jan 11 09:13:36 2013 +0100

    Permit plain integers for "gchar" values

    Similar to guchar/guint8, allow plain integers (withing correct
    boundaries) as
    values for gchar/gint8 types.

    This is covered by the test_gi.TestPropertiesObject.test_char
    test when
    removing the "expected failure" flag.

 gi/_gobject/pygtype.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit a558d3d3a9274aeccfc54705bf5effdf71dee06b
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Fri Jan 11 09:09:41 2013 +0100

    Allow single byte values for int8 types

    When fixing gobject-introspection to consider "gchar" as signed (see
    https://bugzilla.gnome.org/show_bug.cgi?id=691524), we must also
    permit a
    single-element "bytes" array as a valid value for int8, not just
    for uint8.

    This is caught by the test_overrides_gtk.TestTreeModel.test_tree_store
    test.

 gi/pygi-argument.c        |  4 ++--
 gi/pygi-marshal-from-py.c | 34 +++++++++++++++++++++-------------
 2 files changed, 23 insertions(+), 15 deletions(-)

commit aa7f6cd12fe403acb2cffc7890724af7abb9b990
Author: Mike Gorse <mgorse@suse.com>
Date:   Thu Jan 10 14:11:56 2013 -0600

    Fix invalid memory access handling errors when registering an
    enum type

    Don't free the name until we are done with it.

 gi/gimodule.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit ecd235959317d39b6d598662c00829e0ec717b17
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Thu Jan 10 16:42:46 2013 +0100

    Fix (out) arguments in callbacks

    Do not ignore the first argument in _pygi_closure_set_out_arguments().
    Presumably that has been done to skip over "self", but callbacks
    are not
    required to have a self argument. As self is never (out), we can
    safely include
    it in the loop.

 gi/pygi-closure.c | 2 +-
 tests/test_gi.py  | 4 ----
 2 files changed, 1 insertion(+), 5 deletions(-)

commit d8e241e24a816691acbd592775b73defd9aa4f44
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Thu Jan 10 15:14:05 2013 +0100

    Fix C to Python marshalling of struct pointer arrays

    Do not treat an array of pointers to values like an array of values on
    marshalling from C. This makes the test_array_boxed_struct_return()
    test case
    work.

 gi/pygi-marshal-to-py.c | 5 +++--
 tests/test_gi.py        | 2 --
 2 files changed, 3 insertions(+), 4 deletions(-)

commit 60544b02f6f98c0b212625ae83b94a4c6debddeb
Author: Simonas Kazlauskas <simonas@kazlauskas.me>
Date:   Tue Jan 8 23:22:54 2013 +0200

    Add tests for GFile

    Most notably this commit contains a test for
    Gio.File.replace_contents_async(),
    which currently fails. Disable the tests for now as it breaks the
    other tests.

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

 tests/test_gio.py | 64
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

commit 118c5eaad045580455515876ba73b9537a8468b4
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Thu Jan 10 13:56:11 2013 +0100

    Rename test_overrides_gio.py to test_gio.py

    As we want to add more tests for non-overridden API.

 tests/Makefile.am           |   2 +-
 tests/test_gio.py           | 121
 ++++++++++++++++++++++++++++++++++++++++++++
 tests/test_overrides_gio.py | 121
 --------------------------------------------
 3 files changed, 122 insertions(+), 122 deletions(-)

commit 8117e6bce73581e89211371708ff7d5de7d870d4
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Thu Jan 10 12:13:16 2013 +0100

    Don't let Property.setter() method names define property names

    Defining property names in install_properties() is too late when using
    @propname.setter decorators; their method names don't define a
    property name,
    nor are they even required to be a valid property identifier.

    So change the logic to already fix the property name when using
    a setter
    decorator and use that instead of the member name in
    install_properties().

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

 gi/_gobject/propertyhelper.py | 29 ++++++++++++++++++++++-------
 tests/test_properties.py      | 18 ++++++++++++++++++
 2 files changed, 40 insertions(+), 7 deletions(-)

commit c0bd060521cc1b481995648dbe286b7e2f9ecd80
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Wed Jan 9 10:39:36 2013 +0100

    tests: Force UTF-8 file name encoding

    The test_gi.TestFilename tests fail if the environment specifies
    a non-UTF8
    file name encoding. Force it to "UTF-8" for the tests.

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

 tests/runtests.py | 1 +
 1 file changed, 1 insertion(+)

commit c02a00ae9599a661076630b21b7e24e78fb88c29
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Tue Jan 8 16:56:40 2013 +0100

    Use g-i stack allocation API

    Where possible, i. e. when not keeping references across functions,
    use the
    _load_() methods instead of the _get_() ones from
    gobject-introspection, which
    is faster and less prone to memory leaks:

      g_callable_info_get_arg () → g_callable_info_load_arg ()
      g_callable_info_get_return_type() →
      g_callable_info_load_return_type ()
      g_arg_info_get_type() → g_arg_info_load_type ()

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

 gi/pygi-argument.c | 16 ++++------
 gi/pygi-closure.c  | 88
 ++++++++++++++++++++++++------------------------------
 2 files changed, 45 insertions(+), 59 deletions(-)

commit 23d1f14f553069740465c82eaa937b877c41e0cb
Author: Ray Strode <rstrode@redhat.com>
Date:   Wed Dec 19 13:04:32 2012 -0500

    pyg_value_from_pyobject: support GArray

    This commit adds support for marshalling a python list (or other
    sequence)
    returned from signal handlers to GArray, if necessary.

    This parallels the implementation written to marshal to (the now
    deprecated)
    GValueArray.

    This fixes a crash in rhythmbox as seen downstream here:
    https://bugzilla.redhat.com/show_bug.cgi?id=872851

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

    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>

 gi/_gobject/pygtype.c    | 60
 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/test_everything.py | 22 ++++++++++++++++++
 2 files changed, 82 insertions(+)

commit 2089dbb117bae769b0303411c2630b6f86dc7d2d
Author: Marko Lindqvist <cazfi74@gmail.com>
Date:   Fri Jan 4 07:01:29 2013 +0100

    Fix obsolete automake macros

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

 configure.ac | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 6c02ab0ad720780f176192fdc6372aaa178812fd
Author: Simon Feltman <sfeltman@src.gnome.org>
Date:   Mon Dec 31 02:53:07 2012 -0800

    Change dynamic enum and flag gtype creation to use namespaced naming

    Use the combination of g_base_info_get_namespace and
    g_base_info_get_name
    as the name for registering enum and flag types with glib through
    g_enum_register_static and g_flags_register_static. This avoids
    conflicts
    with types like GLib.SeekType and Gst.SeekType. Add better exceptions
    and memory cleanup for invalid registration problems.

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

 gi/_gobject/pygenum.c |  6 ++--
 gi/gimodule.c         | 78
 ++++++++++++++++++++++++++++++++++++++++++++-------
 tests/test_gi.py      | 35 +++++++++++++++++++++++
 3 files changed, 106 insertions(+), 13 deletions(-)

commit 692c80e11a05e2fb0515580acb22fd6fe65cede1
Author: Dan Horák <dan@danny.cz>
Date:   Fri Dec 28 22:12:32 2012 +0100

    Fix test for GBytes.compare()

    The result of the compare method is defined as equal, less than or
    greater than zero
    and the test must match to that. The underlaying memcmp() function
    can return other
    values than -1, 0 and 1. For example on architectures where it is
    implemented directly
    via a CPU instruction like on s390(x) where I can see -2 as a result
    instead of the
    "expected" -1.

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

 tests/test_gi.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 948dbcb223249a08f4398d4ad8861e92e3de0dfa
Author: Jonathan Ballet <jon@multani.info>
Date:   Thu Dec 27 16:04:51 2012 +0100

    Fix Gtk.UIManager.add_ui_from_string() override for non-ASCII chars

    The length argument is the size of the buffer in bytes, not in
    characters.

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

    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>

 gi/overrides/Gtk.py         | 2 +-
 tests/test_overrides_gtk.py | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

commit 53bc12a87da824cbfb006a4fd65731edec12ecc7
Author: Mike Gorse <mgorse@suse.com>
Date:   Wed Dec 19 20:51:03 2012 -0500

    Don't dup strings before passing them to type registration functions

    Strings passed to g_enum_register_static and g_flags_register_static
    are
    eventually passed to g_quark_from_string, which dups the string
    passed to it if
    needed and does not take ownership of it, so passing in a
    dynamically-allocated
    string without freeing it results in a small leak.

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

 gi/gimodule.c | 2 --
 1 file changed, 2 deletions(-)

commit 9454c01f2b1b82d43eea0f72fe9a28ef50065fc9
Author: Carlos Garnacho <carlos@lanedo.com>
Date:   Tue Dec 18 22:47:09 2012 +0100

    Fix marshalling of arrays of boxed struct values

    This fixes methods like gtk_selection_set_with_data().  In such cases
    data is passed as an array of struct pointers, so it must be converted
    to an array of structs.

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

    Co-Authored-By: Martin Pitt <martinpitt@gnome.org>

 gi/pygi-marshal-from-py.c |  6 ++++++
 tests/test_gi.py          | 12 ++++++++++++
 2 files changed, 18 insertions(+)

commit 231d5a7cfc73518b4e2b0c926d4c1ce9a804797e
Author: Simon Feltman <sfeltman@src.gnome.org>
Date:   Tue Dec 18 02:03:41 2012 -0800

    Add reference counting tests for Object.bind_property

    Add tests which ensure transform callbacks and user_data
    are propertly ref-counted.

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

 tests/test_gobject.py | 40 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 36 insertions(+), 4 deletions(-)

commit c29e11812d176b1f057074c9bab22c9614ae4f8c
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Tue Dec 18 11:43:04 2012 +0100

    testhelpermodule.c: Do not unref called method

    In _wrap_test_gerror_exception(), do not unref the method
    arguments. This
    causes a crash when being run with the stricter refcounting/memory
    checks with
    debug-enabled Python builds.

 tests/testhelpermodule.c | 1 -
 1 file changed, 1 deletion(-)

commit ff0d9106bcd02a6b2c67cc3722481218c599a9f4
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Dec 17 23:20:50 2012 +0100

    configure.ac: post-release bump to 3.7.4

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)