commit 32542a4ba24d413fb6e0d509bff05f4ac3f642a1 Author: Simon Feltman Date: Mon May 26 03:01:13 2014 -0700 Python 3.4 make check fixes Bump GI required version to 1.39.0. This is needed to get rid of expectedFailures which pass when built with 1.39.0 (unexpected successes fail unittesting in Python 3.4). Silence deprecation warning when using imp.reload. https://bugzilla.gnome.org/show_bug.cgi?id=730411 configure.ac | 2 +- pygtkcompat/pygtkcompat.py | 4 +++- tests/test_gi.py | 1 - tests/test_repository.py | 2 -- 4 files changed, 4 insertions(+), 5 deletions(-) commit dbdc662b5743bb54fcc3621db775a6e948ec360c Author: Simon Feltman Date: Mon May 26 01:53:14 2014 -0700 tests: Don't use deprecated positional argument for Gio.Settings schema tests/test_gio.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit d0b23f08eebd4377f066a4483900fe6d09e3795e Author: Simon Feltman Date: Sun May 25 23:03:35 2014 -0700 overrides: Add Gtk.Container.child_get/set overrides Add overrides for child_get and child_set to Gtk.Container since these are not introspectable methods. https://bugzilla.gnome.org/show_bug.cgi?id=685076 gi/overrides/Gtk.py | 10 ++++++++++ tests/test_overrides_gtk.py | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) commit 45a5fb2b0d6c7f46d355c83c73d829532e5a72ce Author: Simon Feltman Date: Sun May 25 22:07:07 2014 -0700 overrides: Make value argument to Widget.style_get_property optional Override Gtk.Widget.style_get_property to optionally accept the "value" argument. If "value" is not supplied, the override will locate the child property value type and create the GValue. Additionally return the resulting GValue converted to a native Python value. https://bugzilla.gnome.org/show_bug.cgi?id=685076 gi/overrides/Gtk.py | 11 +++++++++++ tests/test_overrides_gtk.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) commit 6f5a9a37bcdec5074332b1066396321d40b15d99 Author: Simon Feltman Date: Sun May 25 21:08:47 2014 -0700 overrides: Make value argument to Container.child_get_property optional Override Gtk.Container.child_get_property to optionally accept the "value" argument. If "value" is not supplied, the override will locate the child property value type and create the GValue. Additionally return the resulting GValue converted to a native Python value. https://bugzilla.gnome.org/show_bug.cgi?id=685076 gi/overrides/Gtk.py | 11 +++++++++++ tests/test_overrides_gtk.py | 47 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) commit bf84915f89fd5fd502b4fb162eef7bc0a48c8783 Author: Johan Dahlin Date: Mon Oct 1 06:42:24 2012 -0700 Add GTypeClass methods as Python GObject class methods Take all the methods from an objects type classs and add them as class methods. For instance, GObject.ObjectClass.list_properties is available as GObject.Object.list_properties(). Co-Authored-By: Simon Feltman https://bugzilla.gnome.org/show_bug.cgi?id=685218 gi/types.py | 13 +++++++++++++ tests/test_typeclass.py | 13 +++++++++++++ 2 files changed, 26 insertions(+) commit 778d05c93e079ba207a250b754bda9377cb47457 Author: Simon Feltman Date: Sun May 25 19:05:56 2014 -0700 Add marshalling coercion for Python classes and instances to GTypeClass Automatically marshal Python GObject classes and instances to GTypeClass structs (GObjectClass). This allows usage of the GTypeClass methods by passing a Python GObject class or instance to the GTypeClass method. This is needed to support usage of GTypeClass methods since we don't manually bind GTypeClasses and they are not very well supported with introspection. https://bugzilla.gnome.org/show_bug.cgi?id=685218 gi/pygi-struct-marshal.c | 54 ++++++++++++++++++++++++++++++++++---- tests/Makefile.am | 1 + tests/test_typeclass.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 5 deletions(-) commit 1e606287e1244cba45e3bb174d27f1c01e4f9577 Author: Simon Feltman Date: Sun May 25 02:00:00 2014 -0700 Cleanup struct marshalling function names Use a consistent naming scheme for struct marshalling cache related functions. This removes prefixed underscores from function names as well as redundant wording. To ignore this commit with git blame use: git blame ^ -- gi/pygi-struct-marshal.c https://bugzilla.gnome.org/show_bug.cgi?id=685218 gi/pygi-argument.c | 34 ++++---- gi/pygi-array.c | 2 +- gi/pygi-struct-marshal.c | 221 ++++++++++++++++++++--------------------------- gi/pygi-struct-marshal.h | 56 ++++++------ 4 files changed, 142 insertions(+), 171 deletions(-) commit bbbfa967d06eb8fdef6d6ebe705cc8df2869ddf3 Author: Simon Feltman Date: Fri May 16 15:08:35 2014 -0700 Use accessors for getting and setting PyGParamSpec pointers Add pyg_param_spec_get and pyg_param_spec_set macros for getting and setting the GParamSpec pointer field held by the Python wrapper. This is preliminary cleanup work for supporting fundamental types. https://bugzilla.gnome.org/show_bug.cgi?id=631901 gi/pygi-value.c | 2 +- gi/pygobject.h | 9 +++++++-- gi/pygparamspec.c | 22 +++++++++++----------- 3 files changed, 19 insertions(+), 14 deletions(-) commit b49179ba3b39576c0c8fe8586b7091dbbaef8046 Author: Simon Feltman Date: Fri May 16 14:50:57 2014 -0700 Use accessors for getting and setting PyGPointer fields Add pyg_pointer_get_ptr and pyg_pointer_set_ptr macros for getting and setting the pointer field. This is preliminary cleanup work for supporting fundamental types. https://bugzilla.gnome.org/show_bug.cgi?id=631901 gi/gimodule.c | 2 +- gi/pygi-struct.c | 6 +++--- gi/pygobject.h | 2 ++ gi/pygpointer.c | 14 +++++++------- 4 files changed, 13 insertions(+), 11 deletions(-) commit 92fe52243d819ffe91597744a6a1c2362a295bce Author: Simon Feltman Date: Fri May 16 14:19:47 2014 -0700 Use accessors for getting and setting PyGBoxed pointers Add pyg_boxed_get_ptr and pyg_boxed_set_ptr macros for getting and setting the boxed pointer field. This is preliminary cleanup work for supporting fundamental types. https://bugzilla.gnome.org/show_bug.cgi?id=631901 gi/pygboxed.c | 20 ++++++++++---------- gi/pygi-boxed.c | 6 +++--- gi/pygobject.h | 2 ++ gi/pygtype.c | 3 ++- 4 files changed, 17 insertions(+), 14 deletions(-) commit 0a4f13a571cb9bd110f435f8b23ed942e3b007b0 Author: Simon Feltman Date: Sun May 11 16:04:55 2014 -0700 tests: Use assertRaises as a context manager for GError test Simplify tests/test_error.py:TestMarshalling.test_exception so that it no longer needs to pull exception information out of sys.exc_info. tests/test_error.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) commit bc7b0b69f651a118a053106fcae2d7c0f2173430 Author: Andrew Grigorev Date: Sun May 11 23:54:46 2014 +0400 Replace direct parent class call by super() Super works, it just needs the correct class. https://bugzilla.gnome.org/show_bug.cgi?id=729970 demos/gtk-demo/gtk-demo.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit de827d00762f2a741f90bc38f8b55518593f4509 Author: Simon Feltman Date: Sun Mar 23 01:59:00 2014 -0700 Add cairo marshaling support for non-introspected signals Add link dependency of cairo-gobject to _gi_cairo_la needed for retrieving the GTypes of cairo classes. Add GValue marshalers for cairo Context, Surface, FontFace, ScaledFont, and Pattern classes. https://bugzilla.gnome.org/show_bug.cgi?id=694604 gi/Makefile.am | 2 + gi/pygi-foreign-cairo.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++++ gi/pygi-type.h | 1 + gi/pygtype.c | 2 + tests/test_cairo.py | 65 +++++++++++++++++ 5 files changed, 256 insertions(+) commit 22a952ec532cc83c8227861a7d5bfa2957608c3f Author: Simon Feltman Date: Mon May 5 19:37:18 2014 -0700 [New API] Add gi.require_foreign Add gi.require_foreign(namespace, symbol=None) API for determining if a foreign marshaling module is available. This can be used in an applications import statement block to verify the existence of a specific foreign marshaling module (cairo). Additionally it forces loading of the foreign marshaling module as well as the GI repository module. This allows non-introspected signal closures to correctly marshal their arguments (bug 694604). https://bugzilla.gnome.org/show_bug.cgi?id=707735 gi/__init__.py | 28 +++++++++++++++++++++++++ gi/gimodule.c | 2 ++ gi/pygi-foreign.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++------- gi/pygi-foreign.h | 4 ++++ tests/test_cairo.py | 9 ++++++++ 5 files changed, 95 insertions(+), 8 deletions(-) commit 4ee91a4cd0018d069c7aaf66d83e2f8235f2262a Author: Simon Feltman Date: Mon May 5 19:48:06 2014 -0700 tests: Move cairo tests into test_cairo.py Move cairo related tests from test_everything.py into test_cairo.py https://bugzilla.gnome.org/show_bug.cgi?id=694604 tests/Makefile.am | 1 + tests/test_cairo.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ tests/test_everything.py | 43 +------------------------------ 3 files changed, 69 insertions(+), 42 deletions(-) commit 31ecd935564984068e6646676392122bdc03e42e Author: Simon Feltman Date: Mon May 5 19:42:59 2014 -0700 Initialize the foreign API at PyGI load time Initialize the foreign struct list at gi._gi module load time. This ensures we always have a valid (non-null) list of foreign marshalers outside of the context of marshaling. https://bugzilla.gnome.org/show_bug.cgi?id=694604 gi/gimodule.c | 3 ++- gi/pygi-foreign.c | 12 ++++++++---- gi/pygi-foreign.h | 2 ++ 3 files changed, 12 insertions(+), 5 deletions(-) commit def47144b63a1492ebf47a4eadb535f45253ff3a Author: Simon Feltman Date: Sat Mar 22 14:13:01 2014 -0700 Move pygi foreign API into pygi-foreign-api.h Move limited set of APIs necessary for registering foreign marshalers into pygi-foreign-api.h. Remove "_real" from internally used APIs and add necessary includes to the rest of pygobject for calling directly (instead of going through the PyCapsule API within PyGI itself). This is needed to avoid compilation errors when including pygobject.h in foreign marshaling plugins which conflicts with pygobject-private.h. https://bugzilla.gnome.org/show_bug.cgi?id=694604 gi/Makefile.am | 1 + gi/gimodule.c | 6 +-- gi/pygboxed.c | 1 + gi/pygenum.c | 1 + gi/pygflags.c | 1 + gi/pygi-foreign-api.h | 85 +++++++++++++++++++++++++++++++++++++ gi/pygi-foreign-cairo.c | 8 ++-- gi/pygi-foreign.c | 10 ++--- gi/pygi-foreign.h | 14 +++---- gi/pygi-property.c | 8 ++-- gi/pygi-property.h | 14 ++++--- gi/pygi-signal-closure.c | 12 +++--- gi/pygi-signal-closure.h | 15 +++---- gi/pygi-type.c | 4 +- gi/pygi-type.h | 2 +- gi/pygi.h | 107 ----------------------------------------------- gi/pygobject.c | 3 ++ gi/pygpointer.c | 1 + 18 files changed, 139 insertions(+), 154 deletions(-) commit 4c2e6914bf0277ebc3a6a4426f33a1b378a04b00 Author: Simon Feltman Date: Sun May 4 23:19:30 2014 -0700 Clobber GLib.Error with custom implementation Clobber the introspection GLib.Error class with the custom Python implementation found in gi._error.GError. Update references to GLib.GError to use GLib.Error. https://bugzilla.gnome.org/show_bug.cgi?id=712519 gi/_error.py | 3 ++- gi/overrides/GLib.py | 9 ++++++--- gi/pygi-error.c | 10 +++++----- tests/test_error.py | 24 ++++++++++++------------ 4 files changed, 25 insertions(+), 21 deletions(-) commit f80f5ec434ed868ab1f35d6a81537384e753b09d Author: Simon Feltman Date: Sun May 4 23:43:50 2014 -0700 Simplify pygi_error_marshal to use GError initializer arguments https://bugzilla.gnome.org/show_bug.cgi?id=712519 gi/pygi-error.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) commit 3083daf420ac1900bb20604c22fd61e5187b4ae8 Author: Simon Feltman Date: Sun May 4 04:13:46 2014 -0700 Add Python implementation of GError Add internally used gi/_error.py module as a basis for implementing a unified GError between introspection and static bindings. Patch Python implementations of GError.matches and GError.new_literal in the GLib overrides https://bugzilla.gnome.org/show_bug.cgi?id=712519 Makefile.am | 3 ++- gi/_error.py | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gi/_option.py | 3 ++- gi/overrides/GLib.py | 25 ++++++++++++++++++++++++- gi/pygi-error.c | 18 +++++++----------- tests/test_error.py | 37 ++++++++++++++++++++++++++++++++++++ 6 files changed, 125 insertions(+), 14 deletions(-) commit 664bfa6fdf2196a0d1449baaca62a9a496121f67 Author: Simon Feltman Date: Sun May 4 23:14:27 2014 -0700 tests: Move GError tests into test_error.py https://bugzilla.gnome.org/show_bug.cgi?id=712519 tests/Makefile.am | 1 + tests/test_error.py | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/test_gi.py | 49 -------------------------------- 3 files changed, 82 insertions(+), 49 deletions(-) commit 649895d83a90cd3a370da215a6f98a606b987419 Author: Simon Feltman Date: Sun May 4 00:18:41 2014 -0700 Consolidate GError related code into pygi-error Rename all pyglib_error_* functions to pygi_error_* and move them into pygi-error.[h|c]. Register GError as part of the gi._gi module instead of gi._gi._glib. Update all code to use new naming. https://bugzilla.gnome.org/show_bug.cgi?id=712519 gi/_option.py | 6 +- gi/gimodule.c | 4 +- gi/glibmodule.c | 19 ----- gi/gobjectmodule.c | 54 +----------- gi/overrides/GLib.py | 3 +- gi/pygi-argument.c | 6 +- gi/pygi-cache.c | 4 +- gi/pygi-error.c | 222 ++++++++++++++++++++++++++++++++++++++++++++++++- gi/pygi-error.h | 21 ++++- gi/pygi-invoke.c | 5 +- gi/pyglib-private.h | 1 - gi/pyglib.c | 199 -------------------------------------------- gi/pyglib.h | 5 -- gi/pygobject-private.h | 3 - gi/pygoptioncontext.c | 3 +- gi/pygoptiongroup.c | 3 +- gi/pygspawn.c | 3 +- 17 files changed, 262 insertions(+), 299 deletions(-) commit 9080215e862a73ddcce16476f4dc4492a88dd3f2 Author: Simon Feltman Date: Sat May 3 22:56:49 2014 -0700 Add gi.CallableInfo.can_throw_gerror() Add static binding for g_callable_info_can_throw_gerror. gi/pygi-info.c | 10 ++++++++++ tests/test_repository.py | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) commit f129e78d579b7897cb86111c524d87b5b12019ad Author: Simon Feltman Date: Sat May 3 22:56:03 2014 -0700 Derive PyCallbackInfo from PyCallableInfo Update the static GI bindings for PyGICallbackInfo to derive from PyGICallableInfo. This makes all the gi.CallableInfo methods available to gi.CallbackInfo for use from Python. gi/pygi-info.c | 4 ++-- tests/test_repository.py | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) commit 833f96807037e85445ac103d6fb6ad9c4fab65e4 Author: Simon Feltman Date: Fri May 2 21:36:25 2014 -0700 PEP8 fixes Use infix 'not' instead of prefixed. Don't use double comments (##). Use space between comment and text. Un-comment tests that now work. Move broken (and won't fix) implicit int64 signal tests into a new skipped test function. gi/overrides/GIMarshallingTests.py | 4 ++-- gi/overrides/Gio.py | 4 ++-- gi/overrides/Gtk.py | 6 +++--- gi/types.py | 2 +- pygtkcompat/pygtkcompat.py | 4 ++-- tests/test_everything.py | 1 - tests/test_gi.py | 9 +++------ tests/test_iochannel.py | 2 +- tests/test_option.py | 2 +- tests/test_signal.py | 28 +++++++++++++--------------- 10 files changed, 28 insertions(+), 34 deletions(-) commit 07af141dd8dcac551cb2e962f6bf338b3485006b Author: Simon Feltman Date: Mon Apr 28 14:06:30 2014 -0700 configure.ac: post release version bump to 3.13.2 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ba652c1fd9dbef6d3ff57e39b400ea827374a95e Author: Simon Feltman Date: Mon Apr 28 14:00:59 2014 -0700 release 3.13.1 NEWS | 14 ++++++++++++++ 1 file changed, 14 insertions(+)