commit ea992324b8197b2d04ff2849b9ab46f8a04b4ed7 Author: Martin Pitt Date: Mon Sep 3 22:04:01 2012 +0200 release 3.3.91 NEWS | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) commit 1e1f5b2f2f15547c1f2cbc948d2b764bd0a37c44 Author: Martin Pitt Date: Mon Sep 3 21:57:00 2012 +0200 Fix exception test case for Python 2 Regression from commit 77844c5 which did not work with Python 2. tests/test_everything.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 41bb687c058e08b05108b4b2f081cd83d4f93da8 Author: Martin Pitt Date: Mon Sep 3 21:16:01 2012 +0200 Bump g-i dependency Require at least 1.33.9, as we got a couple of bug fixes there which the tests, and for some cases the code, depend on. We actually require 1.33.10 for all tests to succeed, but that hasn't been released yet. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 77844c571ad0badc189428b93de9f2572051b67e Author: Martin Pitt Date: Mon Sep 3 17:58:38 2012 +0200 Show proper exception when trying to allocate a disguised struct Instead of a simple "MemoryError" with no details, raise a proper TypeError with a traceback and an explanation what happened. https://bugzilla.gnome.org/show_bug.cgi?id=639972 gi/pygi-struct.c | 7 +++++++ tests/test_everything.py | 13 +++++++++++++ 2 files changed, 20 insertions(+) commit 0d099bdb3f4bbd962e5e60b583673d9e6f5673cc Author: Mark Nauwelaerts Date: Mon Sep 3 16:47:22 2012 +0200 Support marshalling GParamSpec signal arguments Fix marshalling GParamSpec arguments from C to Python. https://bugzilla.gnome.org/show_bug.cgi?id=683099 Co-Authored-By: Martin Pitt gi/pygi-argument.c | 10 +++++++++- tests/test_signal.py | 14 ++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) commit 69fb92c22b3f3d1d5e8c3e14134eee3242fdc5fc Author: Martin Pitt Date: Mon Sep 3 16:06:49 2012 +0200 Add test for a signal that returns a GParamSpec https://bugzilla.gnome.org/show_bug.cgi?id=683265 tests/test_signal.py | 6 ++++++ tests/testhelpermodule.c | 12 ++++++++++++ 2 files changed, 18 insertions(+) commit a7c524219987fbf37e455a91e4c78d2b9b4db12d Author: Simon Feltman Date: Tue Mar 20 04:33:50 2012 -0700 [API add] Add Signal class for adding and connecting custom signals. The Signal class provides easy creation of signals and removes the need for __gsignals__ in client code. The Signal class can also be used as a decorator for wrapping up the custom closure. As well as providing a "BoundSignal" when accessed on an instance for making connections without specifying a signal name string. Python3 annotations can also be used to supply closure argument and return types when Signal is used as a decorator. For example: class Eggs(GObject.GObject): @GObject.Signal def spam(self, count:int): pass https://bugzilla.gnome.org/show_bug.cgi?id=434924 examples/signal.py | 34 ++++-- gi/_gobject/Makefile.am | 3 +- gi/_gobject/__init__.py | 5 + gi/_gobject/signalhelper.py | 251 +++++++++++++++++++++++++++++++++++++++++++ tests/test_signal.py | 208 +++++++++++++++++++++++++++++++++-- 5 files changed, 482 insertions(+), 19 deletions(-) commit 96fa22369fd188465559fc904c7f76e73040e6dd Author: Martin Pitt Date: Mon Sep 3 15:32:12 2012 +0200 Fix pygtkcompat's Gtk.TreeView.insert_column_with_attributes() We have a proper implementation for insert_column_with_attributes() now, so drop pygtkcompat's empty stub for it. Also improve test case for Gtk.TreeView.insert_column_with_attributes(). gi/pygtkcompat.py | 6 ------ tests/test_overrides_gtk.py | 16 ++++++++-------- 2 files changed, 8 insertions(+), 14 deletions(-) commit 542cf22c9de9b2094868c4e879b0f24b15c4c012 Author: Marta Maria Casetti Date: Mon Sep 3 13:06:22 2012 +0200 Add override for Gtk.TreeView.insert_column_with_attributes() https://bugzilla.gnome.org/show_bug.cgi?id=679415 Co-Authored-By: Martin Pitt gi/overrides/Gtk.py | 7 +++++++ tests/test_overrides_gtk.py | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) commit 1c73e845361e471b1c3a3f17e40e6a6cfa740877 Author: Martin Pitt Date: Mon Sep 3 11:09:55 2012 +0200 .gitignore: Add missing built files .gitignore | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 96431f393036a688666dcf67911bf12b9824b264 Author: Martin Pitt Date: Mon Sep 3 11:07:32 2012 +0200 Ship tests/gi in tarball Spotted by distcheck. tests/Makefile.am | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit dc2c6e6f60d2757462cbceef6176b0b3013904d3 Author: Martin Pitt Date: Mon Sep 3 10:18:45 2012 +0200 Fix separate build tree and distcheck Fix regression from c7c95a79: We must set sys.path in runtests.py properly and cannot rely on setting $PYTHONPATH from Makefile.am only. Python always prepends the directory of the source file to sys.path, but that points to the source dir, not the build dir. The build dir has to take precedence, otherwise we fail to import the built libraries. tests/runtests-windows.py | 10 +++++++--- tests/runtests.py | 13 ++++++++----- 2 files changed, 15 insertions(+), 8 deletions(-) commit 2d8f48f4ff56bb75985136452b50b75895258608 Author: Martin Pitt Date: Mon Sep 3 07:57:01 2012 +0200 Split test_overrides.py Split the huge test_overrides.py into separate files for gdk, gtk, gio, glib, and pango. Further split the monolithic classes for Gtk and Gio into several ones. https://bugzilla.gnome.org/show_bug.cgi?id=683188 tests/Makefile.am | 5 + tests/test_overrides.py | 2198 +---------------------------------------- tests/test_overrides_gdk.py | 119 +++ tests/test_overrides_gio.py | 114 +++ tests/test_overrides_glib.py | 445 +++++++++ tests/test_overrides_gtk.py | 1517 ++++++++++++++++++++++++++++ tests/test_overrides_pango.py | 32 + 7 files changed, 2234 insertions(+), 2196 deletions(-) commit 1223358e2c558dd7ac3300126f989054ec5a5b3f Author: Martin Pitt Date: Mon Sep 3 07:17:57 2012 +0200 _pygi_argument_to_object(): Clean up array unmarshalling The NULL case is already handled at the top, so it does not need to be re-checked again. Emit a critical if we fail to allocate a Python array of the requested size. gi/pygi-argument.c | 47 ++++++++++++++++------------------------------- 1 file changed, 16 insertions(+), 31 deletions(-) commit 65bfbc624bc9da6e18ff2945b14099ab8eeb7601 Author: Alban Browaeys Date: Wed Aug 29 21:24:17 2012 +0200 Fix memory leak in _pygi_argument_to_object() Avoid leaking the item_type_info when breaking out of the switch in _pygi_argument_to_object() for unmarshalling arrays. https://bugzilla.gnome.org/show_bug.cgi?id=682979 gi/pygi-argument.c | 4 ++++ 1 file changed, 4 insertions(+) commit 21b1d17d2ada2edf4063a4262b3436c279da3dc2 Author: Simon Feltman Date: Sat Sep 1 03:40:31 2012 -0700 Fix setting pointer fields/arguments to NULL using None. Setting gi pointers will set them to the address of the python object. This is good except in the case of None which should be used to NULL the pointer out as a special case. https://bugzilla.gnome.org/show_bug.cgi?id=683150 gi/pygi-argument.c | 8 +++++++- tests/test_overrides.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) commit 6123e6f5001ca5eaea18123d8a53525abab31a45 Author: Martin Pitt Date: Thu Aug 23 06:44:27 2012 +0200 Fix for python 2.6, drop support for < 2.6 Replace sys.version_info.major access to tuple access which also works for Python 2.6. When building for Python 2.6, inject some missing unittest API such as @unittest.skipUnless and assertGreaterEqual() into the unittest module in runtests.py, so that the tests have a chance to run. As building with Python 2.5 has been broken for a long time with nobody complaining, and 2.5 is ancient, bump minimum Python requirement to 2.6. Drop obsolete #ifdef paths which only apply to <= 2.5. https://bugzilla.gnome.org/show_bug.cgi?id=682422 configure.ac | 2 +- gi/_glib/pyglib-python-compat.h | 8 -------- gi/_gobject/gobjectmodule.c | 8 -------- gi/module.py | 2 +- tests/runtests.py | 27 +++++++++++++++++++++++++++ tests/test_gi.py | 2 +- 6 files changed, 30 insertions(+), 19 deletions(-) commit b1a9848a7a7255e6b1ccd98712dd62b1514078b9 Author: Thibault Saunier Date: Tue Aug 21 07:54:09 2012 +0200 Allow overrides in other directories than gi itself Use pkgutil.extend_path() for the gi and gi.overrides modules, so that libraries can install overrides in a path that is different from the one that pygobject installs itself into. These overrides need to put this into their __init__.py at the top: from pkgutil import extend_path __path__ = extend_path(__path__, __name__) and put themselves somewhere into the default PYTHONPATH. https://bugzilla.gnome.org/show_bug.cgi?id=680913 Co-Authored-By: Martin Pitt Co-Authored-By: Simon Feltman gi/__init__.py | 4 ++++ gi/overrides/__init__.py | 4 ++++ tests/gi/__init__.py | 2 ++ tests/gi/overrides/Regress.py | 26 ++++++++++++++++++++++++++ tests/gi/overrides/__init__.py | 2 ++ tests/test_overrides.py | 6 ++++++ 6 files changed, 44 insertions(+) commit c7c95a795eee499373499ea5b771447746317bfb Author: Simon Feltman Date: Thu Aug 23 06:03:09 2012 +0200 Clean up sys.path handling in tests Only set sys.path once in runtests.py, not in the individual test modules. This reduces hidden dependencies between tests by building up a run order dependent search path, and also makes it easier in the future to run the tests against the installed system libraries. Side issue in https://bugzilla.gnome.org/show_bug.cgi?id=680913 tests/runtests-windows.py | 6 +++++- tests/runtests.py | 3 +++ tests/test_everything.py | 1 - tests/test_gdbus.py | 3 --- tests/test_overrides.py | 3 --- tests/test_pygtkcompat.py | 3 --- 6 files changed, 8 insertions(+), 11 deletions(-) commit 3e3525e93d852cde0f63e835b774a9b004773c69 Author: Simon Feltman Date: Sun Aug 19 02:30:39 2012 -0700 Fix dynamic creation of enum and flag gi types for Python 3.3 Importing Gtk was crashing on instantiation of dynamic Enum and Flag subclasses due to what looks to be an unsupported technique. Change tp_new() method for classes dynamically derived from PyGEnum_Type and PyGFlags_Type to call PyLong_Type.tp_new() instead of attempting to call __new__() as a python method. This technique seems to work with all versions of python so the previous python version checking also became unnecessary. https://bugzilla.gnome.org/show_bug.cgi?id=682323 gi/_gobject/pygenum.c | 29 ++++++++++++++++------------- gi/_gobject/pygflags.c | 21 +++++++++------------ 2 files changed, 25 insertions(+), 25 deletions(-) commit dd31b67e821f92b5f1c2ee0382cac5edd477cd11 Author: Paolo Borelli Date: Wed Aug 22 10:45:39 2012 +0200 [API add] Override g_menu_item_set_attribute This C utility API take a vararg, add a corresponding override that takes a list of tuples https://bugzilla.gnome.org/show_bug.cgi?id=682436 gi/overrides/Gio.py | 10 ++++++++++ tests/test_overrides.py | 11 +++++++++++ 2 files changed, 21 insertions(+) commit 836902801373e386d370c44e7487aac3432f19f6 Author: Martin Pitt Date: Mon Aug 20 23:37:40 2012 +0200 post-release bump to 3.3.91 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)