commit d3977266faadacd3d05705497c1cf51a01a6606f Author: Martin Pitt 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 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 gi/overrides/Gio.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 592c67482c254f65817c1a1b5c5de5dfcaab31b4 Author: Jose Rostagno 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 gi/pygtkcompat.py | 2 +- tests/test_pygtkcompat.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) commit 3551462a429ef30274fa01fc8111da5025f9c342 Author: Martin Pitt 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 gi/_gobject/pygtype.c | 9 +++++++-- tests/test_everything.py | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) commit d1362451e070e156d2f49c9cde930cc38befb12b Author: Martin Pitt 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 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 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 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 gi/_gobject/pygobject.c | 138 ++++++++++++++++++++++++++++++++++++++--- tests/test_gobject.py | 158 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 288 insertions(+), 8 deletions(-) commit c0922589964c1d8bffe5a56d2f56df96eedfac10 Author: Martin Pitt 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 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 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 . 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 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 gi/_gobject/pygobject.c | 4 ++++ tests/test_gobject.py | 11 +++++++++++ 2 files changed, 15 insertions(+) commit 24cc09a7105299805fcc5bc151f53ac69958d728 Author: Steve Frécinaux 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 gi/_gobject/pygobject.c | 40 ---------------------------------------- 1 file changed, 40 deletions(-) commit 2a5a33a9c9c170830c98c2e32fa8dcea3c35f2e6 Author: Martin Pitt 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 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 Co-authored-by: Simon Schampijer Signed-off-by: Martin Pitt 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 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 tests/test_everything.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 7c0017c30129a8db391f902ed592782200d69c64