commit 2d8f5490cdc078b3e56a92deb9eca71b3fc5ef17 Author: Simon Feltman Date: Mon Jul 29 02:23:02 2013 -0700 release 3.9.5 NEWS | 41 +++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) commit ec3de7608ec970f6f272c9d7937344f02c6e9c3d Author: Simon Feltman Date: Mon Jul 29 01:21:19 2013 -0700 Ensure exceptions set in closure out argument marshaling are printed Call PyErr_Print when an exception occurs after marshaling closure out arguments. These exceptions were being ignored and cleared out only to show up in debug builds of Python. https://bugzilla.gnome.org/show_bug.cgi?id=705064 gi/pygi-closure.c | 8 ++++++++ tests/test_generictreemodel.py | 17 +++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) commit b5dcb1800839f747a052e487643c234668384677 Author: Simon Feltman Date: Sun Jul 28 23:00:26 2013 -0700 Use Python error messages for marshaling integers from Python Use Pythons default error messages where possible. Change all explicitly raised ValueError to use OverflowError for out of range data. https://bugzilla.gnome.org/show_bug.cgi?id=705057 gi/pygi-marshal-from-py.c | 76 +++++++++++++++++------------------------------ tests/test_everything.py | 52 ++++++++++++++++---------------- tests/test_gi.py | 64 +++++++++++++++++++-------------------- tests/test_gobject.py | 2 +- 4 files changed, 86 insertions(+), 108 deletions(-) commit 3c83bfb14b850670eb7c0208e55c120ca203f8af Author: Simon Feltman Date: Sat Jul 27 21:10:07 2013 -0700 Use Py_CLEAR for closure cleanup instead of test with Py_DECREF gi/pygi-closure.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) commit f5e3876dee512ca82af6ea798b10d5ecad785dd1 Author: Simon Feltman Date: Sat Jul 27 15:25:20 2013 -0700 Cleanup invoke args and kwargs combiner code Change _py_args_combine_and_check_length use cleaner reference counting. It no longer DECREFs input arguments and always returns a new value reference. Use PyGICallableCache directly as an argument instead of passing various members. gi/pygi-invoke.c | 44 +++++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 27 deletions(-) commit 91c49822363d8a1efc82163b46daa667d6cfc1b7 Author: Simon Feltman Date: Wed Jul 17 16:10:25 2013 -0700 Replace Python VFunc descriptor directly with PyGIVFuncInfo Add tp_getdesc (__get__) to PyGIVFuncInfo to allow the object to be used directly as a callable descriptor. This piggy backs off the added support for functions and constructors in previous patches. https://bugzilla.gnome.org/show_bug.cgi?id=704037 gi/pygi-info.c | 25 +++++++++++++++++++++++-- gi/types.py | 33 ++++----------------------------- 2 files changed, 27 insertions(+), 31 deletions(-) commit 35f79b22ec5abf02fd0bb66352eb1f251b65a078 Author: Simon Feltman Date: Tue Jul 16 16:00:14 2013 -0700 Add callable and descriptor protocols to PyGICallableInfo Add tp_call (__call__) function to callable info objects. This allows for replacement of wrapped invoke methods directly with the already created callable info object. This has the additional side effect of making doc strings lazily bound (only generated when __doc__ is accessed). Add tp_desc_get (__get__) to PyGIFunctionInfo which returns a bound version of itself for methods and constructors. Update various internal type checks to reflect the changes. Update tests to reflect the new callable type being the same across Python 2 & 3. This patch gives roughly a %17 speedup for Gtk imports and an %11 speedup for GI method calls. https://bugzilla.gnome.org/show_bug.cgi?id=704037 gi/module.py | 5 +- gi/overrides/__init__.py | 10 ++- gi/pygi-info.c | 179 ++++++++++++++++++++++++++++++++++++++++++-- gi/pygi.h | 13 ++++ gi/types.py | 35 +-------- tests/test_docstring.py | 6 +- tests/test_gi.py | 32 +++----- tests/test_overrides_gtk.py | 4 +- 8 files changed, 212 insertions(+), 72 deletions(-) commit 2339e030e4dc4d93ea770bca380a89f831d56be6 Author: Simon Feltman Date: Fri Jul 26 19:33:32 2013 -0700 Move "from Python" GObject out arg marshaler into specialized function Move hacks specific to out argument marshaling for vfuncs into a a specialized function. This allows standard function call marshaling to continue working correctly when there are no extra references holding the arguments "foo(SomeObject())". This is currently being masked because all GI functions are wrapped by additional layers of Python functions. When these layers are removed, it exposes bugs introduced by reference counting hacks intended for vfunc return arguments. https://bugzilla.gnome.org/show_bug.cgi?id=704037 gi/pygi-argument.c | 2 +- gi/pygi-marshal-from-py.c | 37 ++++++++++++++++++++++++++++++------- gi/pygi-marshal-from-py.h | 3 +++ 3 files changed, 34 insertions(+), 8 deletions(-) commit 627c5faaa54ed9a2b59ac1547833c171cd1a1e87 Author: Simon Feltman Date: Fri Jul 26 17:34:01 2013 -0700 Add underscore prefix and _cache_adapter suffix to marshaling functions Add underscores to all _pygi_marshal_* functions. We don't currently export symbols, but we might need to for C unittesting. This will ensure we don't have a "public API". Add _cache_adapter suffix to marshaling functions which are light weight wrappers intended only for cached marshalers. gi/pygi-argument.c | 40 +++++++++++----------- gi/pygi-cache.c | 10 +++--- gi/pygi-marshal-from-py.c | 86 +++++++++++++++++++++++------------------------ gi/pygi-marshal-from-py.h | 44 ++++++++++++------------ gi/pygi-marshal-to-py.c | 48 +++++++++++++------------- gi/pygi-marshal-to-py.h | 34 +++++++++---------- 6 files changed, 131 insertions(+), 131 deletions(-) commit bec0b543be8d993996d8a17c343c3f2f33a9398f Author: Simon Feltman Date: Tue Jul 16 11:13:17 2013 -0700 Add common attribute accessors to PyGIBaseInfo Add __name__, __module__, and __doc__ accessors to PyGIBaseInfo object. This is a precursory patch for setting up PyGICallableInfo as a directly callable object with lazy doc string evaluation. https://bugzilla.gnome.org/show_bug.cgi?id=704037 gi/_glib/pyglib-python-compat.h | 5 +++ gi/pygi-info.c | 83 +++++++++++++++++++++++++++++++++++++++-- gi/types.py | 7 ++-- 3 files changed, 88 insertions(+), 7 deletions(-) commit ea194404843a16555f9a475cc973872a4428bfe1 Author: Simon Feltman Date: Sat Jul 13 23:10:31 2013 -0700 Merge method and constructor setup Merge _setup_constructors into _setup_methods as they contain same basic logic. This removes an unnecessary call with additional filtering of GIObjectInfo.get_methods() which can be large for objects with many methods. https://bugzilla.gnome.org/show_bug.cgi?id=704037 gi/types.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) commit 6b36fbe904d19f515578f447daa7657d3a9a859c Author: Simon Feltman Date: Sat Jul 13 18:11:18 2013 -0700 Remove redundant info.get_name calls Remove a number of redundant calls to GIBaseInfo.get_name. Info names are already cached on function objects so re-use them when possible. This gives a small load time improvement by removing over 2000 calls when importing Gtk. https://bugzilla.gnome.org/show_bug.cgi?id=704037 gi/module.py | 1 - gi/types.py | 8 +++----- 2 files changed, 3 insertions(+), 6 deletions(-) commit 6fdde256e840600c84a648ab21da2fe5c212e5bc Author: Simon Feltman Date: Fri Jul 12 12:21:54 2013 -0700 Move doc string generator into separate module Move the doc string generator for creating function signatures into "gi.docstring". This includes a new API for getting and setting the doc string creation functions: gi.docstring.get_doc_string_generator gi.docstring.set_doc_string_generator gi.docstring.generate_doc_string Beyond adding the ability for custom doc string generators, this API is a necessary step for adding lazy __doc__ attribute access for optimization. https://bugzilla.gnome.org/show_bug.cgi?id=704037 gi/Makefile.am | 3 +- gi/docstring.py | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ gi/types.py | 55 ++----------------------- tests/Makefile.am | 1 + tests/test_docstring.py | 49 ++++++++++++++++++++++ tests/test_gi.py | 30 -------------- 6 files changed, 161 insertions(+), 83 deletions(-) commit f86701b15ee04c717d9c6bf688101606165e4f83 Author: Simon Feltman Date: Wed Jul 24 19:36:28 2013 -0700 tests: Change GHashTable marshaling test to use GValue Add test to explicitly use a boxed GStrv GValue in addition to a Python list sub-class. https://bugzilla.gnome.org/show_bug.cgi?id=666636 tests/test_everything.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) commit 6ea41b60691e1ba7e21374582d7aea072af71103 Author: Simon Feltman Date: Thu Jul 25 18:00:47 2013 -0700 gtk-demo: Change demo to use Gtk.Application Replace deriving from Gtk.Window with deriving from Gtk.Application connected to a Gtk.ApplicationWindow instance. https://bugzilla.gnome.org/show_bug.cgi?id=698547 demos/gtk-demo/demos/printing.py | 2 +- demos/gtk-demo/gtk-demo.py | 40 ++++++++++++++++++++-------------------- 2 files changed, 21 insertions(+), 21 deletions(-) commit fae58044ea0b2e7f47fbdacc5b58ac36f673ecbd Author: Simon Feltman Date: Tue Jul 23 14:25:01 2013 -0700 Move _pygi_argument_to_object_basic_type into pygi-marshal-to-py.c Move _pygi_argument_to_object_basic_type into pygi-marshal-to-py.c and rename to _pygi_marshal_to_py_basic_type. Cleanup and simplify dependant sub-marshalers for unichar, utf8, and filename types. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-argument.c | 73 +----------------------------- gi/pygi-argument.h | 4 -- gi/pygi-cache.c | 4 +- gi/pygi-marshal-to-py.c | 115 +++++++++++++++++++++++++++++++++++++----------- gi/pygi-marshal-to-py.h | 27 +++--------- 5 files changed, 99 insertions(+), 124 deletions(-) commit cba401ac1543c2fdb68fff0dba8f6da7eed23bfa Author: Simon Feltman Date: Tue Jul 23 13:06:33 2013 -0700 Unify and clean up from Python marshalers for basic types Unify and cleanup boolean, float, double, gtype, unichar, utf8, and filename marshalers. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-cache.c | 101 ++-------------------------------------------- gi/pygi-marshal-from-py.c | 86 ++++++++++++--------------------------- gi/pygi-marshal-from-py.h | 30 -------------- 3 files changed, 28 insertions(+), 189 deletions(-) commit 9e6e01d065bf0acc5b99ae0e8c034d689231bfe1 Author: Simon Feltman Date: Tue Jul 23 12:35:06 2013 -0700 Unify from Python int64 and uint64 marshalers Replaced int64 and uint64 cached marshalers with usage of the unified basic type marshaler. Replace a large amount of int64 exception formatting code with usage of %S for Python 3 and give a more vague message for Python 2. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-cache.c | 36 +-------- gi/pygi-marshal-from-py.c | 193 ++++++++++------------------------------------ gi/pygi-marshal-from-py.h | 10 --- 3 files changed, 43 insertions(+), 196 deletions(-) commit 46653922003c7d1d5d16f5cdb39b3faadf9aff27 Author: Simon Feltman Date: Tue Jul 23 11:03:14 2013 -0700 Unify from Python int16 and int32 marshalers Add PyNumber_Check to unified basic type marshaler. Add bounds checking to unified int16 and int32 marshalers. Replaced int16 and int32 cached marshalers with usage of unified basic type marshaler. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-cache.c | 69 +-------------- gi/pygi-marshal-from-py.c | 218 ++++++++++------------------------------------ gi/pygi-marshal-from-py.h | 20 ----- 3 files changed, 48 insertions(+), 259 deletions(-) commit 4b9c725a615fcf4a5e8d089d275d4586032d0d1f Author: Simon Feltman Date: Tue Jul 23 00:27:14 2013 -0700 Unify from Python boolean, int8, and uint8 marshalers Replaced boolean, int8, and uint8 cached marshalers with usage of unified basic type marshaler. Add bounds checking to unified int8 marshalers. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-cache.c | 48 +++------------ gi/pygi-marshal-from-py.c | 146 +++++++++++----------------------------------- gi/pygi-marshal-from-py.h | 20 ++----- 3 files changed, 45 insertions(+), 169 deletions(-) commit f517bfbc134b78a23b754332e59b9bb67bb68e98 Author: Simon Feltman Date: Mon Jul 22 23:24:13 2013 -0700 Add support for PyBytes with int8 and uint8 from Python marshaler This additional type marshaling is necessary for unifying marhalers due to the same feature being available with cached argument marshaling. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-marshal-from-py.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit fe9df90531f3dd04c0d13d73ebd4ae7dd396c9b1 Author: Simon Feltman Date: Mon Jul 22 23:23:29 2013 -0700 Move from Python integer marshaling into separate function Add _pygi_marshal_from_py_long for marshaling Python objects that can convert to a PyLong type. This allows for better sharing of code amongst marshalers along with unifying them across Python 2.7 and 3.0. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-argument.c | 3 +- gi/pygi-marshal-from-py.c | 159 ++++++++++++++++++++++++---------------------- 2 files changed, 84 insertions(+), 78 deletions(-) commit f7748affae3d6ef0cc2e409f65761fb29c01b038 Author: Simon Feltman Date: Mon Jul 22 22:19:26 2013 -0700 Move _pygi_argument_from_object_basic_type into pygi-marshal-from-py.c Move _pygi_argument_from_object_basic_type into pygi-marshal-from-py.c and rename to: _pygi_marshal_from_py_basic_type https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-argument.c | 149 +--------------------------------------------- gi/pygi-marshal-from-py.c | 147 +++++++++++++++++++++++++++++++++++++++++++++ gi/pygi-marshal-from-py.h | 4 ++ 3 files changed, 152 insertions(+), 148 deletions(-) commit 9c9510eec782f242280af24e86adf3561e4fac72 Author: Simon Feltman Date: Fri Jul 19 23:37:35 2013 -0700 Move basic type marshaling out of _pygi_argument_from_object Move the marshaling of Python objects to GI arguments for basic types into a new function: _pygi_argument_from_object_basic_type This is staging work needed before unifying basic type marshaling of arguments from Python to GI. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-argument.c | 73 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 27 deletions(-) commit 0e2441518ef31bd2b4102ba5780c3ded00bec59a Author: Simon Feltman Date: Fri Jul 19 20:16:10 2013 -0700 Replace to Python cached marshalers with unified basic type marshaler Add cached arg marshaler "_pygi_marshal_to_py_basic_type" which unifies functions, vfuncs, signals, and property marshaling for "basic types". Remove all the individual cached arg marshalers for these types. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-argument.c | 104 +++++++++++------------------------ gi/pygi-argument.h | 4 ++ gi/pygi-cache.c | 114 +++++++------------------------------- gi/pygi-marshal-to-py.c | 142 ++++-------------------------------------------- gi/pygi-marshal-to-py.h | 48 ++-------------- 5 files changed, 73 insertions(+), 339 deletions(-) commit 663fe5893bbc9f34bf8aa4da3cb6f9186a8233b1 Author: Simon Feltman Date: Fri Jul 19 18:00:40 2013 -0700 Move to Python basic type marshaling out of _pygi_argument_to_object Move the marshaling of GI arguments to Python objects for basic types into a new function. The required information for this marshaler is a GITypeTag and GITransfer. Argument marshaling matching these requirments are now found in: _pygi_argument_to_object_basic_type. The new marshaler can be used with a generic argument cache marshaler to unify all of the "basic type" marshaling. https://bugzilla.gnome.org/show_bug.cgi?id=693405 gi/pygi-argument.c | 86 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 63 insertions(+), 23 deletions(-) commit dd43a1e19440dbe025451d2e4e07a6074086498d Author: Simon Feltman Date: Sat Jul 6 14:16:36 2013 -0700 Override GValue.set/get_boxed with static C marshaler Override boxed type get/set methods on GValue to use the static C GValue marshaler. This works around the inability of the introspection version of these methods to know what the held GValue type is. With this, all boxed types will now marshal properly with GValues as their storage. https://bugzilla.gnome.org/show_bug.cgi?id=688081 gi/_gobject/gobjectmodule.c | 38 ++++++++++++++++++++++++++++++++++++++ gi/overrides/GObject.py | 9 +++++++++ 2 files changed, 47 insertions(+) commit 2cff4827e6d15bcad630316a8a4e67968a70bbbf Author: Simon Feltman Date: Sat Jul 6 14:10:20 2013 -0700 Refactor pyg_value_from_pyobject into two functions Break pyg_value_from_pyobject into two functions. One which keeps Python exceptions queued (pyg_value_from_pyobject_with_error) and one which clears them (pyg_value_from_pyobject). This allows for re-use for code which want to keep the errors around https://bugzilla.gnome.org/show_bug.cgi?id=688081 gi/_gobject/gobjectmodule.c | 4 ++- gi/_gobject/pygobject-private.h | 1 + gi/_gobject/pygobject.h | 2 ++ gi/_gobject/pygtype.c | 67 ++++++++++++++++++++++++++++++++--------- 4 files changed, 59 insertions(+), 15 deletions(-) commit 84e91a9da3522d042faca65fd2ada1ccaee60153 Author: Simon Feltman Date: Sat Jul 6 20:41:19 2013 -0700 Fix indentation for pyg_value_from_pyobject https://bugzilla.gnome.org/show_bug.cgi?id=688081 gi/_gobject/pygtype.c | 744 +++++++++++++++++++++++++------------------------- 1 file changed, 372 insertions(+), 372 deletions(-) commit 6a29d9be14ec33d06816ade67a5ccf5c7a1cf398 Author: Simon Feltman Date: Sat Jul 6 13:32:39 2013 -0700 Add deprecation warning for marshaling arbitrary objects as pointers Add deprecation warning for marshaling arbitrary objects to/from void pointers with the exception of integers, PyCapsules, and None. https://bugzilla.gnome.org/show_bug.cgi?id=688081 gi/pygi-marshal-from-py.c | 17 ++++++++++++++++- gi/pygi-marshal-to-py.c | 10 ++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) commit 077aefed8566adcb99d7570f52fe09c74c2098e5 Author: Simon Feltman Date: Sat Jul 6 13:34:53 2013 -0700 Move PyGIDeprecationWarning to C for shared Python/C usage https://bugzilla.gnome.org/show_bug.cgi?id=688081 gi/__init__.py | 19 ++++--------------- gi/gimodule.c | 18 ++++++++++++++++++ gi/pygi.h | 2 ++ 3 files changed, 24 insertions(+), 15 deletions(-) commit 90427107af36ea3c624b36967ee181ed13b9828f Author: Simon Feltman Date: Thu Jul 18 14:59:55 2013 -0700 Replace usage of __import__ with importlib.import_module https://bugzilla.gnome.org/show_bug.cgi?id=682320 gi/module.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 6391a8e4f03d4010c0d7de79fc83138fd69e0e33 Author: Mike Gorse Date: Wed Jul 10 16:44:23 2013 -0500 Always unref the GiTypeInfo when generating an argument cache We were leaking a GiTypeInfo when handling child arguments. https://bugzilla.gnome.org/show_bug.cgi?id=703973 gi/pygi-cache.c | 1 + 1 file changed, 1 insertion(+) commit ce0ad7066ebdb7018fdce58dc32bbaa715206a0c Author: Mike Gorse Date: Wed Jul 10 12:10:16 2013 -0500 Unref interface info when fetching enums or flags When calling g_type_info_get_interface, the resulting interface should be dereferenced by calling g_base_info_unref. https://bugzilla.gnome.org/show_bug.cgi?id=703960 gi/pygi-marshal-from-py.c | 8 +++++++- gi/pygi-marshal-to-py.c | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) commit a93755ddba9a1761b627583d7b9be63783c2c063 Author: Daniel Drake Date: Tue Jul 9 13:03:36 2013 -0600 Speed up MRO calculation Optimize gi.type.mro() with the following observations and tricks: 1. Python prepares all the base classes before trying to calculate the MRO of the current one (it first needs to populate __bases__, for example). So we can assume that the base class MRO is already available in __mro__ and this will have been previously calculated (by us, in the case of gi classes). This avoids repeating a lot of MRO-calculating work, and also avoids (re)calculating MROs for inheritance chains that don't have any gi classes in them anyway. 2. With that simplification in place, we can avoid recursion, which is not all that great in Python... 3. ...except in the uncommon case of a Python2 old-style classes, where __mro__ is not available. There doesn't seem to be any existing function to calculate or read MRO of old-style python classes, so just keep doing as before: calculate the C3 MRO of the old-style class via recursion. That behaviour is not really correct, and the recursion is not desirable, so we print a warning here. This makes the "hello world" Sugar app start up approximately 0.5 seconds faster on XO-1.5. https://bugzilla.gnome.org/show_bug.cgi?id=703829 gi/types.py | 30 +++++++++++++++++++++++++++--- tests/test_gi.py | 16 ++++++++++++---- 2 files changed, 39 insertions(+), 7 deletions(-) commit 7aca95781fc76f3e820e63325ccc07d128a60075 Author: Daniel Drake Date: Wed Jul 10 10:45:47 2013 -0600 tests: Add tests for MRO override Add tests for the MRO override to prevent against unintended behaviour changes. https://bugzilla.gnome.org/show_bug.cgi?id=703829 tests/test_gi.py | 66 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 50 insertions(+), 16 deletions(-) commit a15333a36e31b76ea6b80251553840269ec5deb1 Author: Simon Feltman Date: Sat Jul 6 13:34:13 2013 -0700 Add GIL safety to pyobject_copy for copying boxed PyObjects https://bugzilla.gnome.org/show_bug.cgi?id=688081 gi/_gobject/pygobject.c | 3 +++ 1 file changed, 3 insertions(+) commit 097c116d43a21bebf8e4bccde9cacc551db1e1e5 Author: Simon Feltman Date: Sat Jul 6 09:48:35 2013 -0700 testhelper: Fix import requirement for GObject Replace the importing of gi._gobject._gobject with gi.repository.GObject in tests/testhelpermodule.c The testhelper module was only importing the static bindings (gi._gobject._gobject) and not the overrides (gi.repository.GObject). This was causing some tests to fail when test_thread was the first test to run in the suite due to it registering new types based on PyGObject_Type. https://bugzilla.gnome.org/show_bug.cgi?id=703647 tests/testhelpermodule.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0f6c571755e65b5e77d3d84e4516ef90d8ce0162 Author: Simon Feltman Date: Wed Jul 3 05:26:12 2013 -0700 Add marshalling of GI_TYPE_TAG_VOID held in a GValue to int Replace assertion for this case with a simple marshalling of the pointer value to a Python int. While not particularly useful this allows some callbacks in WebKit to function without causing a segfault. https://bugzilla.gnome.org/show_bug.cgi?id=694233 gi/pygi-argument.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e0084e7e73845fa2a2da29017d3622f361f11dfb Author: Cole Robinson Date: Sat Feb 16 17:26:43 2013 -0500 GTK overrides: Make connect_signals handle tuple This is used for passing extra arguments to callbacks during signal emission in the form of: builder.connect_signals({'on_clicked': (on_clicked, arg1, arg2)}) Co-Authored-By: Simon Feltman https://bugzilla.gnome.org/show_bug.cgi?id=693994 gi/overrides/Gtk.py | 51 ++++++++---- tests/test_overrides_gtk.py | 196 +++++++++++++++++++++++++++++--------------- 2 files changed, 165 insertions(+), 82 deletions(-) commit 466567373289e6f141709f08efa80ba588d3d64a Author: Simon Feltman Date: Tue Jul 2 18:06:01 2013 -0700 Re-add support for passing GValue's by reference Fix special casing when marshaling from a Python held GValue to a GValue argument intended for a function call. The re-factoring of GValue marshaling in commit #9e47afe459df942d9f broke this by always making a copy of the GValue. This removed the ability to retrieve values with functions like gtk_style_context_get_style_property. https://bugzilla.gnome.org/show_bug.cgi?id=701058 gi/pygi-argument.c | 2 +- gi/pygi-marshal-from-py.c | 32 +++++++++++++++----------------- 2 files changed, 16 insertions(+), 18 deletions(-) commit 40a3cd18fd7111ae177f6ab716f78d131f59a1c0 Author: Simon Feltman Date: Tue Jul 2 19:20:04 2013 -0700 tests: Add test for pass-by-reference GValue https://bugzilla.gnome.org/show_bug.cgi?id=701058 tests/test_gi.py | 7 +++++++ 1 file changed, 7 insertions(+) commit 3b3251593ea107f06b160234b0ca5393cb39ac1b Author: Simon Feltman Date: Tue Jul 2 23:02:17 2013 -0700 Clear return value of closures to zero when an exception occures For return types other than void, set the ffi closure return argument to 0 when a Python exception occures. This a good default in general but also has the side affect of fixing failing idle callbacks by causing them to be removed from main loops (after their stack is printed). https://bugzilla.gnome.org/show_bug.cgi?id=702552 gi/pygi-closure.c | 14 ++++++++++++++ tests/test_gi.py | 8 ++++++++ 2 files changed, 22 insertions(+) commit ae3439f1d22482d6a920a869d3d17e7054af6f80 Author: Martin Pitt Date: Wed Jul 3 10:40:28 2013 +0200 Don't use doctest syntax in docstrings for examples These are not actual doctests, so don't use the >>> syntax there. Just indent them. This fixes pyflakes 0.7 failures. https://bugzilla.gnome.org/show_bug.cgi?id=701009 gi/_gobject/propertyhelper.py | 11 +++++------ gi/overrides/GObject.py | 8 ++++---- gi/overrides/Gtk.py | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) commit b96a6dc968566d339a2dfd7dd631ae52d812302a Author: Garrett Regier Date: Tue Jul 2 06:07:15 2013 -0700 Add support for properties of type GInterface Add support for G_TYPE_INTERFACE/GInterface to switch statement which handles G_TYPE_OBJECT based properties. Signed-off-by: Simon Feltman https://bugzilla.gnome.org/show_bug.cgi?id=703456 gi/_gobject/gobjectmodule.c | 1 + gi/_gobject/propertyhelper.py | 3 ++- tests/test_properties.py | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) commit 61b268e44af63d6d78feae42578bf75aa5cfd511 Author: Martin Pitt Date: Fri Jun 21 07:27:48 2013 +0200 pygtkcompat: Fix for missing methods on Windows Deal with non-existing Gtk.Clipboard.get() and GdkPixbuf.Pixbuf.new_from_file_at_scale() methods. https://bugzilla.gnome.org/show_bug.cgi?id=702787 pygtkcompat/pygtkcompat.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 5e3ab0bb974cc785659666b871d795730b4f06b3 Author: Chun-wei Fan Date: Fri Jun 21 12:32:33 2013 +0800 gi/pygi-info.c: Avoid C99-style variable declaration https://bugzilla.gnome.org/show_bug.cgi?id=702786 gi/pygi-info.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 94167e12c118c85cd3172f9f5824fe53e55bcc2d Author: Martin Pitt Date: Wed May 29 11:20:35 2013 +0200 GLib overrides: fix typo in deprecation message Spotted by Dmitrijs Ledkovs, thanks! gi/overrides/GLib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 86569b69ade0fe157fa87365e9369dde84cd5c90 Author: Martin Pitt Date: Tue May 28 17:57:20 2013 +0200 configure.ac: post-release version bump to 3.9.3 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 10f703189ed6a7104252907d1b1a114f26d79559 Author: Martin Pitt Date: Tue May 28 17:56:07 2013 +0200 release 3.9.2 NEWS | 15 +++++++++++++++ 1 file changed, 15 insertions(+)