commit d3977266faadacd3d05705497c1cf51a01a6606f
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Apr 30 16:08:09 2012 +0200

    Release 3.3.1

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

commit a8e222f04aac3bcf7e4421c4da8d080eeb8b5f56
Author: Giovanni Campagna <gcampagna@src.gnome.org>
Date:   Sun Apr 29 23:55:15 2012 +0200

    GSettings: allow extra keyword arguments

    All GObject constructors are expected to accept any construct
    property as keyword argument, and overrides should respect that.
    In particular, not doing this for GSettings prevents using a custom
    GSettingsSchema.

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

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 gi/overrides/Gio.py |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 592c67482c254f65817c1a1b5c5de5dfcaab31b4
Author: Jose Rostagno <joserostagno@vijona.com.ar>
Date:   Sun Apr 29 12:56:50 2012 -0300

    pygtkcompat: Correct Userlist module use

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

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 gi/pygtkcompat.py         |    2 +-
 tests/test_pygtkcompat.py |    4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

commit 3551462a429ef30274fa01fc8111da5025f9c342
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Sun Apr 29 20:17:47 2012 +0200

    Add release-news make rule

    This produces a commit log since the previous release in our
    current NEWS
    format. This does not currently wrap long lines automatically, though.

    Do include bug numbers from now on, as they are very useful.

 Makefile.am |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit fe79ef612a7853f024b73c7997b8ec89015ae94c
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Wed Apr 25 13:07:59 2012 +0200

    Add "make check.nemiver" target

    Similar to "check.gdb", but invokes nemiver.

 Makefile.am       |    3 +++
 tests/Makefile.am |    3 +++
 2 files changed, 6 insertions(+)

commit 3090cc70a7ce8df38dd6cf6c17350417a7367c0b
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Tue Apr 24 13:24:00 2012 +0200

    Test flags and enums in GHash values

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

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

commit 88d189ec3e3d900a96496a50c1d6e76615b19558
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Tue Apr 24 13:03:36 2012 +0200

    tests: Activate test_hash_in and apply workaround

    Work around pygobject's current inability to produce a GStrv object
    from a
    string array by explicitly producing a GStrV object, and reactivate
    test case.

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

 tests/test_everything.py |   24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

commit 8ee21619b3cfc179cf114813478470d9aa3f6fb8
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Apr 23 12:33:09 2012 +0200

    Add special case for Gdk.Atom array entries from Python

    Gdk.Atom pretends to be a struct pointer, but is really just an
    int wrapped
    into a pointer. So we must not dereference it directly, nor free
    it, but
    instead just copy the pointer value.

    Also add a few other test cases for "single Atom return", "single
    Atom argument
    in", and Atom GList return", which already work fine.

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

 gi/pygi-marshal-from-py.c |   18 ++++++++++++++----
 tests/Makefile.am         |    1 +
 tests/test_atoms.py       |   41
 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+), 4 deletions(-)

commit b9f24b4fbc2ca9f9b94b86f029c59b2fc3e8590f
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Apr 23 20:09:43 2012 +0200

    test_gdbus: Call GetConnectionUnixProcessID() with correct signature

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

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

commit 3ae38d7519524288a57e5d522954b9d6725f0185
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Apr 23 18:47:34 2012 +0200

    Add test case for Gtk.ListStore custom sort

    This works in Python 2, but crashes in Python 3, another case of
    the segfaults
    we get when C calls a Python callback in Python 3.

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

 tests/test_overrides.py |   31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

commit c12b10ca0feaaf61f23354c7b6631a9ef3635c36
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Apr 23 17:40:23 2012 +0200

    GTK overrides: Add missing keyword arguments

    Add missing **kwargs to overridden __init__() constructors, to
    allow specifying
    arbitrary widget properties.

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

 gi/overrides/Gtk.py     |   34 ++++++++++++++++++----------------
 tests/test_overrides.py |    6 ++++++
 2 files changed, 24 insertions(+), 16 deletions(-)

commit d37680bb9390426f7f58ea3d352c3e5e2106e978
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Apr 23 15:24:04 2012 +0200

    Add missing override for TreeModel.iter_previous()

    This should behave like the override for TreeModel.iter_next().

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

 gi/overrides/Gtk.py     |    6 ++++++
 tests/test_overrides.py |    4 ++++
 2 files changed, 10 insertions(+)

commit e03284f852f0e404cc91374f3e2e42b0ac1977b4
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Sun Apr 22 16:45:06 2012 +0200

    pygi-convert.py: Drop obsolete drag method conversions

    Drop conversion of drag_source_unset() and drag_dest_{,un}set(). These
    were
    fixed a while ago to be proper Widget methods again.

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

 pygi-convert.sh |    3 ---
 1 file changed, 3 deletions(-)

commit f82eca6006dec21624796074af8ffe9b2256f7a4
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Sat Apr 21 14:00:50 2012 +0200

    tests: Replace deprecated assertEquals() with assertEqual()

 tests/test_everything.py  |  144 ++++++-------
 tests/test_gi.py          |  502
 ++++++++++++++++++++++-----------------------
 tests/test_gobject.py     |   58 +++---
 tests/test_option.py      |    6 +-
 tests/test_overrides.py   |  352 +++++++++++++++----------------
 tests/test_properties.py  |   18 +-
 tests/test_pygtkcompat.py |   42 ++--
 7 files changed, 561 insertions(+), 561 deletions(-)

commit ddb0bf01e694585d58af52673a21796e7c9578ea
Author: Paolo Borelli <pborelli@gnome.org>
Date:   Sat Apr 21 12:02:54 2012 +0200

    Plug tiny leak in constant_info_get_value

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

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

commit 9c48a561c5ee010410df7d6e430353b41d5fbd88
Author: Bastian Winkler <buz@netbuz.org>
Date:   Thu Apr 12 20:30:05 2012 +0200

    Fix len_arg_index for array arguments

    Don't set len_arg_index for arrays without the length annotation
    given.
    This fixes methods like Clutter.Texture.set_from_rgb_data() and
    Clutter.Image.set_data()

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

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 gi/pygi-cache.c           |    4 +++-
 gi/pygi-marshal-cleanup.c |    4 ++--
 tests/test_gi.py          |    3 +++
 3 files changed, 8 insertions(+), 3 deletions(-)

commit 71246ca0568bf3e9b81e88dd13b6d29e9417e313
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Thu Apr 19 13:11:56 2012 +0200

    Support defining GType properties from Python

    Commit 84e3471 fixed the handling of GType properties for properties
    that are
    defined in the C library already. Add the missing support for
    defining such
    properties in Python as well.

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

 gi/_gobject/gobjectmodule.c   |    5 ++++-
 gi/_gobject/propertyhelper.py |    9 ++++++---
 tests/test_properties.py      |   42
 ++++++++++++++++++++++++++++++++++++++---
 3 files changed, 49 insertions(+), 7 deletions(-)

commit 2158ecd05a2770d6538bae67d01d1f718855a7d4
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Thu Apr 19 16:12:29 2012 +0200

    Fix typo in previous commit

    In the test case, actually assign the newly created object, so that
    we test the
    properties of the right object.

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

commit 84e3471ba4595534cbe6875f1c8b77776e1d1814
Author: Bastian Winkler <buz@netbuz.org>
Date:   Wed Apr 18 21:44:08 2012 +0200

    Handle GType properties correctly

    Fix conversion from/to properties of type G_TYPE_GTYPE

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

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 gi/_gobject/pygtype.c    |    9 +++++++--
 tests/test_everything.py |   15 +++++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

commit d1362451e070e156d2f49c9cde930cc38befb12b
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Thu Apr 19 07:27:10 2012 +0200

    Add missing GObject.TYPE_GTYPE

 gi/_gobject/__init__.py  |    1 +
 gi/_gobject/constants.py |    1 +
 2 files changed, 2 insertions(+)

commit d3225f1540e09719caa73e52d402e946da3add24
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Tue Apr 10 12:44:00 2012 +0200

    Fix test_mainloop.py for Python 3

 tests/test_mainloop.py |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 903283119896f3e054694484da4147788b02ce60
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Mon Apr 9 15:20:39 2012 +0200

    Make callback exception propagation test stricter

    Propagating Python exceptions from callbacks through the C context
    back to the
    original caller does not currently happen, is nontrivial/unsafe
    to implement,
    and not desirable at this point any more as by now we have established
    the
    current behaviour. So remove the catching of ZeroDivisionError in
    the tests.

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

 tests/test_everything.py |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 0fd900d351c8d7d57dc6a1b049ee05f342f6ab1d
Author: Simon Feltman <s.feltman@gmail.com>
Date:   Sun Mar 18 15:59:58 2012 -0700

    Add context management to freeze_notify() and handler_block().

    These methods now return a context manager object. Within the
    __exit__ method
    thaw_notify() and handler_unblock() are called respectively. This
    allows
    statements like the following:

    with obj.freeze_notify():
        obj.props.width = 100
        obj.props.height = 100
        obj.props.opacity = 0.5

    This does not affect standard usage of these methods.

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

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 gi/_gobject/pygobject.c |  138 ++++++++++++++++++++++++++++++++++++++---
 tests/test_gobject.py   |  158
 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 288 insertions(+), 8 deletions(-)

commit c0922589964c1d8bffe5a56d2f56df96eedfac10
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Wed Apr 4 19:08:54 2012 +0200

    Add support for GFlags properties

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

 gi/_gobject/propertyhelper.py |    9 +++++++--
 tests/test_properties.py      |   28 +++++++++++++++++++++++++++-
 2 files changed, 34 insertions(+), 3 deletions(-)

commit d4054be9de3b7e4ed64c8172ebbde0a697462c79
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Wed Apr 4 17:54:52 2012 +0200

    Wrap GLib.Source.is_destroyed() method

    Based on original patch from Bryan Silverthorn.

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

 gi/_glib/pygsource.c |   15 +++++++++++++++
 tests/test_source.py |   24 ++++++++++++++++++++++++
 2 files changed, 39 insertions(+)

commit 05030a95a4d3090162ed5f510a26d69bbb152942
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Wed Apr 4 15:59:24 2012 +0200

    Fix error message when trying to override a non-GI class

    Based on original patch by Juanje Ojeda <jojeda@emergya.es>.

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

 gi/overrides/__init__.py |    7 ++++---
 tests/test_overrides.py  |   13 +++++++++++++
 2 files changed, 17 insertions(+), 3 deletions(-)

commit 96f14989baea76fe8692f10c1a37e2dfc45fecbf
Author: Steve Frécinaux <code@istique.net>
Date:   Wed Apr 4 15:30:55 2012 +0200

    Fix segfault when accessing __grefcount__ before creating the GObject

    When creating a new instance using Type() and trying to access
    __grefcount__ before calling the subclass's __init__ function, there
    used to be a segmentation fault because we were trying to access the
    not yet created object. Now raise a proper exception instead.

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

    Co-authored-by: Martin Pitt <martinpitt@gnome.org>

 gi/_gobject/pygobject.c |    4 ++++
 tests/test_gobject.py   |   11 +++++++++++
 2 files changed, 15 insertions(+)

commit 24cc09a7105299805fcc5bc151f53ac69958d728
Author: Steve Frécinaux <code@istique.net>
Date:   Wed Feb 9 18:37:33 2011 +0100

    Do not bind gobject_get_data() and gobject_set_data()

    They will basically cause a crash if misused, and you can always use a
    python member attribute instead.

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

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 gi/_gobject/pygobject.c |   40 ----------------------------------------
 1 file changed, 40 deletions(-)

commit 2a5a33a9c9c170830c98c2e32fa8dcea3c35f2e6
Author: Martin Pitt <martinpitt@gnome.org>
Date:   Tue Apr 3 22:26:34 2012 +0200

    Add test case for multiple GLib.MainLoop instances

    Commit 832f16f9 fixed a lockup with multiple GLib.MainLoops. Add
    corresponding
    test case.

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

 tests/test_mainloop.py |   25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

commit d03696c1aaa7e66f8f16554cf4a4b97addb5aea1
Author: John (J5) Palmieri <johnp@redhat.com>
Date:   Tue Feb 21 15:13:42 2012 +0100

    Add a ccallback type which is used to invoke callbacks passed to
    a vfunc

    Used when overriding methods like gtk_container_forall wich pass in a
    callback that needs to be executed on internal children:
        def do_forall(self, callback, userdata):
            callback(self.custom_child, userdata)

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

    Co-authored-by: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
    Co-authored-by: Simon Schampijer <simon@laptop.org>

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 gi/Makefile.am                |    2 +
 gi/gimodule.c                 |    1 +
 gi/module.py                  |    5 +++
 gi/pygi-argument.c            |   12 +----
 gi/pygi-cache.c               |   28 ++++++++++--
 gi/pygi-cache.h               |    9 ++--
 gi/pygi-ccallback.c           |  100
 +++++++++++++++++++++++++++++++++++++++++
 gi/pygi-ccallback.h           |   41 +++++++++++++++++
 gi/pygi-closure.c             |   50 ++++++++++++++++++++-
 gi/pygi-invoke-state-struct.h |    2 +
 gi/pygi-invoke.c              |   73 +++++++++++++++++++++---------
 gi/pygi-invoke.h              |    3 ++
 gi/pygi-private.h             |    1 +
 gi/pygi.h                     |   10 +++++
 tests/test_gi.py              |   16 +++++++
 15 files changed, 312 insertions(+), 41 deletions(-)

commit db7e1d078db16b6f11dee51aa97525c451346632
Author: Alberto Mardegan <alberto.mardegan@canonical.com>
Date:   Tue Mar 27 17:34:48 2012 +0200

    Regression test: marshalling GValues in GHashTable

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

    Signed-off-by: Martin Pitt <martinpitt@gnome.org>

 tests/test_everything.py |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 7c0017c30129a8db391f902ed592782200d69c64