Hello community,

here is the log from the commit of package python-gobject for openSUSE:Factory 
checked in at 2011-11-16 17:21:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-gobject (Old)
 and      /work/SRC/openSUSE:Factory/.python-gobject.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-gobject", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-gobject/python-gobject.changes    
2011-10-03 09:25:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-gobject.new/python-gobject.changes       
2011-11-16 17:22:25.000000000 +0100
@@ -1,0 +2,12 @@
+Sun Nov  6 14:18:56 UTC 2011 - [email protected]
+
+- Update to version 3.0.2:
+  + Add tests for boxed properties
+  + Allow GBoxed types as property
+  + When converting an object with transfer none, make sure the
+    wrapper owns a ref
+  + Unit test for checking ref count of object param in signals
+  + Gdk overrides: Unbreak for Gdk-2.0
+  + Do union member checks for unions that are parameters
+
+-------------------------------------------------------------------
python3-gobject.changes: same change

Old:
----
  pygobject-3.0.1.tar.bz2

New:
----
  pygobject-3.0.2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-gobject.spec ++++++
--- /var/tmp/diff_new_pack.xOPuwN/_old  2011-11-16 17:22:27.000000000 +0100
+++ /var/tmp/diff_new_pack.xOPuwN/_new  2011-11-16 17:22:27.000000000 +0100
@@ -34,7 +34,7 @@
 Name:           python-gobject
 %define _name   pygobject
 Summary:        Python bindings for GObject
-Version:        3.0.1
+Version:        3.0.2
 Release:        1
 License:        LGPLv2.1+
 Group:          Development/Libraries/Python

python3-gobject.spec: same change
++++++ pygobject-3.0.1.tar.bz2 -> pygobject-3.0.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/ChangeLog 
new/pygobject-3.0.2/ChangeLog
--- old/pygobject-3.0.1/ChangeLog       2011-09-30 20:19:40.000000000 +0200
+++ new/pygobject-3.0.2/ChangeLog       2011-10-22 00:20:50.000000000 +0200
@@ -1,3 +1,114 @@
+commit 5c24760b797e985721f7fe51d52252e4dd54a417
+Author: Martin Pitt <[email protected]>
+Date:   Fri Oct 21 17:31:41 2011 +0200
+
+    Fix "Returns: (skip)" method calls without (out) arguments
+
+    When we have a method call with a skipped return value, but no
+    other out
+    arguments, we previously returned NULL to Python, which causes
+    "SystemError:
+    error return without exception set". Return None instead.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=662383
+
+ gi/pygi-invoke.c         |   10 ++++++++++
+ tests/test_everything.py |    8 ++++++++
+ 2 files changed, 18 insertions(+), 0 deletions(-)
+
+commit 585222915dc98b0e375de3db4771466278a32e81
+Author: John (J5) Palmieri <[email protected]>
+Date:   Tue Oct 18 00:39:16 2011 -0400
+
+    Do union member checks for unions that are parameters
+
+    * before we were only doing checks if the union was an instance
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=661673
+
+ gi/pygi-marshal-from-py.c |  121
+ +++++++++++++++++++++++++--------------------
+ 1 files changed, 68 insertions(+), 53 deletions(-)
+
+commit 8deaec6b9abd87f02060c9feec773d4693e89028
+Author: Martin Pitt <[email protected]>
+Date:   Wed Oct 19 14:35:11 2011 +0200
+
+    Gdk overrides: Unbreak for Gdk-2.0
+
+    Fix regression from commit 31db3ed: Gdk 2.0 did not yet have
+    atom_intern(), so
+    only do this for Gdk >= 3.0.
+
+    https://launchpad.net/bugs/875399
+
+ gi/overrides/Gdk.py |   95
+ ++++++++++++++++++++++++++-------------------------
+ 1 files changed, 48 insertions(+), 47 deletions(-)
+
+commit f395fb131caf7ca550acd17138d8061926ef4f92
+Author: John (J5) Palmieri <[email protected]>
+Date:   Fri Oct 14 17:19:45 2011 -0400
+
+    unit test for checking ref count of object param in signals
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=661359
+
+ tests/test_everything.py |   11 +++++++++++
+ 1 files changed, 11 insertions(+), 0 deletions(-)
+
+commit 611f58b99851328653af4930f188c33eccaa9f6f
+Author: John (J5) Palmieri <[email protected]>
+Date:   Fri Oct 14 16:42:32 2011 -0400
+
+    when converting an object with transfer none, make sure the wrapper
+    owns a ref
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=661359
+
+ gi/pygi-argument.c |   10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+commit 0f1eb9fa0e7aa5e7c22dabc709c0dfb469e404f1
+Author: Timo Vanwynsberghe <[email protected]>
+Date:   Tue Oct 4 11:13:43 2011 +0200
+
+    Allow GBoxed types as property
+
+    Add the GBoxed type as valid type to the gobject property helper
+    https://bugzilla.gnome.org/show_bug.cgi?id=660798
+
+ gi/_gobject/propertyhelper.py |    5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit bef8d385117dd0295c9ba7567710d76fc2bb729a
+Author: Ignacio Casal Quinteiro <[email protected]>
+Date:   Mon Oct 10 11:24:42 2011 +0200
+
+    Add tests for boxed properties.
+
+ tests/test_properties.py |   20 ++++++++++++++++++--
+ 1 files changed, 18 insertions(+), 2 deletions(-)
+
+commit 77123ffeb1585837033848f4d5a90cfa63fdaee0
+Author: Ignacio Casal Quinteiro <[email protected]>
+Date:   Fri Sep 30 20:21:07 2011 +0200
+
+    Post release bump version
+
+ configure.ac |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit f5ccfec0a1bc4c999bfa49d75383ea06d3a068c4
+Author: Ignacio Casal Quinteiro <[email protected]>
+Date:   Fri Sep 30 20:19:46 2011 +0200
+
+    Release 3.0.1
+
+ NEWS         |    5 +++++
+ configure.ac |    2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
 commit 56ac9339eb1d6950623dc4d8c3b9972874e7fa86
 Author: John (J5) Palmieri <[email protected]>
 Date:   Thu Sep 22 19:03:20 2011 -0400
@@ -433,9 +544,9 @@
     https://bugzilla.gnome.org/show_bug.cgi?id=658362
 
  gi/Makefile.am            |    8 +-
- gi/pygi-cache.c           |  673 +++++++++++-----------
+ gi/pygi-cache.c           |  669 +++++++++++----------
  gi/pygi-cache.h           |   62 ++-
- gi/pygi-invoke.c          |  144 +++---
+ gi/pygi-invoke.c          |  142 +++---
  gi/pygi-marshal-cleanup.c |  168 +++---
  gi/pygi-marshal-cleanup.h |  128 ++--
  gi/pygi-marshal-from-py.c | 1412
@@ -448,7 +559,7 @@
  gi/pygi-marshal-out.h     |  144 -----
  gi/pygi-marshal-to-py.c   |  768 ++++++++++++++++++++++++
  gi/pygi-marshal-to-py.h   |  144 +++++
- 14 files changed, 3122 insertions(+), 3081 deletions(-)
+ 14 files changed, 3119 insertions(+), 3078 deletions(-)
 
 commit 45b0fcff9e948c65a3903c32a3957802034c5e47
 Author: Dieter Verfaillie <[email protected]>
@@ -708,10 +819,10 @@
 
  gi/pygi-cache.c          |    1 +
  gi/pygi-cache.h          |    1 +
- gi/pygi-invoke.c         |   48
- ++++++++++++++++++++++++++++-----------------
- tests/test_everything.py |    8 +++++++
- 4 files changed, 40 insertions(+), 18 deletions(-)
+ gi/pygi-invoke.c         |   46
+ +++++++++++++++++++++++++++++-----------------
+ tests/test_everything.py |    8 ++++++++
+ 4 files changed, 39 insertions(+), 17 deletions(-)
 
 commit 7a234b185b131f3eb6a6e8a8c717ddf4d508b15e
 Author: Xavier Claessens <[email protected]>
@@ -1736,11 +1847,11 @@
     https://bugzilla.gnome.org/show_bug.cgi?id=642048
 
  Makefile.am         |    8 +-------
- configure.ac        |   43 +++++++++++++++++--------------------------
+ configure.ac        |   39 +++++++++++++++------------------------
  gi/pygi.h           |   37 -------------------------------------
  gobject/Makefile.am |    5 +----
  tests/Makefile.am   |    7 +------
- 5 files changed, 20 insertions(+), 80 deletions(-)
+ 5 files changed, 18 insertions(+), 78 deletions(-)
 
 commit d862168d6a82edd59547d39f5b0ab8279b1e511c
 Author: John (J5) Palmieri <[email protected]>
@@ -1993,9 +2104,9 @@
 
     [caching] refactor function names to be less confusing
 
- gi/pygi-cache.c |  307
+ gi/pygi-cache.c |  305
  +++++++++++++++++++++++++++----------------------------
- 1 files changed, 150 insertions(+), 157 deletions(-)
+ 1 files changed, 149 insertions(+), 156 deletions(-)
 
 commit c167a9345b01c070bd5a84b4a4b3a53baf9e217d
 Author: John (J5) Palmieri <[email protected]>
@@ -2695,9 +2806,9 @@
  gi/pygi-invoke-state-struct.h |    2 +
  gi/pygi-marshal-cleanup.c     |  301
  ++++++++++++++++-------------------------
- gi/pygi-marshal-cleanup.h     |   45 ++++---
+ gi/pygi-marshal-cleanup.h     |   43 ++++--
  gi/pygi-marshal.c            |   15 +-
- 7 files changed, 174 insertions(+), 225 deletions(-)
+ 7 files changed, 173 insertions(+), 224 deletions(-)
 
 commit 198714dc4585f7463f38929f1ca4e4b60a27dadb
 Author: John (J5) Palmieri <[email protected]>
@@ -3174,15 +3285,15 @@
 
     [gi-invoke-ng] refactor FunctionCache to be more generic CallableCache
 
- gi/pygi-cache.c     | 392
+ gi/pygi-cache.c     | 388
  ++++++++++++++++++++++++++-------------------------
  gi/pygi-cache.h     |  12 +-
  gi/pygi-info.c      |   2 +-
  gi/pygi-invoke-ng.c |  40 +++---
  gi/pygi-marshal.c   | 140 +++++++++---------
- gi/pygi-marshal.h   | 159 ++++++++-------------
+ gi/pygi-marshal.h   | 159 +++++++++-------------
  gi/pygi.h          |    2 +-
- 7 files changed, 362 insertions(+), 385 deletions(-)
+ 7 files changed, 360 insertions(+), 383 deletions(-)
 
 commit 3d5d9ff5c18a850650992bdd52e8e4c722b23396
 Author: John (J5) Palmieri <[email protected]>
@@ -4353,9 +4464,9 @@
     [gi-demo] Fix color dialog demo to run with new draw, style and
     color apis
 
- demos/gtk-demo/demos/colorselector.py |   44
+ demos/gtk-demo/demos/colorselector.py |   42
  ++++++++++++--------------------
- 1 files changed, 17 insertions(+), 27 deletions(-)
+ 1 files changed, 16 insertions(+), 26 deletions(-)
 
 commit f94a96c53e9432ac085bd05acee7ebdd2803fbad
 Author: John (J5) Palmieri <[email protected]>
@@ -4397,9 +4508,9 @@
 
     [gi-demos] fix drawingarea app to use the new draw api
 
- demos/gtk-demo/demos/drawingarea.py | 144
+ demos/gtk-demo/demos/drawingarea.py | 138
  ++++++++++++-----------------------
- 1 files changed, 50 insertions(+), 94 deletions(-)
+ 1 files changed, 47 insertions(+), 91 deletions(-)
 
 commit 8385afbbc5df295d9b7cd3b5d19c90faa1f7ea8e
 Author: John (J5) Palmieri <[email protected]>
@@ -4819,10 +4930,10 @@
       values based on if they are in, out or inout
     * in invoke we order the pointers based on their direction
 
- gi/pygi-cache.c  | 1445
+ gi/pygi-cache.c  | 1441
  ++++++++++++++++++++++++++----------------------------
  gi/pygi-invoke.c |   19 +-
- 2 files changed, 711 insertions(+), 753 deletions(-)
+ 2 files changed, 709 insertions(+), 751 deletions(-)
 
 commit 2b185362de45f46ce0f0b8816499aef06ab1ad1e
 Author: John (J5) Palmieri <[email protected]>
@@ -4840,9 +4951,9 @@
 
     [gi] fix sequence caching to support out
 
- gi/pygi-cache.c |  111
+ gi/pygi-cache.c |  109
  +++++++++++++++++++++++++++++++++++++++++++------------
- 1 files changed, 87 insertions(+), 24 deletions(-)
+ 1 files changed, 86 insertions(+), 23 deletions(-)
 
 commit 69207910209ebfe450df616aeb8fa4cc2e7eccf3
 Author: Martin Pitt <[email protected]>
@@ -4992,11 +5103,11 @@
 
     https://bugzilla.gnome.org/show_bug.cgi?id=640197
 
- gobject/gobjectmodule.c     |  35 ++-------------------
+ gobject/gobjectmodule.c     |  35 ++--------------------
  gobject/pygobject-private.h |   5 +++
- gobject/pygobject.c        |   71
+ gobject/pygobject.c        |   69
  +++++++++++++++++++++++++-----------------
- 3 files changed, 50 insertions(+), 61 deletions(-)
+ 3 files changed, 49 insertions(+), 60 deletions(-)
 
 commit a3e0cfe8924887ecd1e07cedd2cfb999c853ac62
 Author: John (J5) Palmieri <[email protected]>
@@ -5197,10 +5308,10 @@
 
     https://bugzilla.gnome.org/show_bug.cgi?id=640073
 
- gi/types.py     |  104
- +++++++++++++++++++++++++++++++++---------------------
+ gi/types.py     |  100
+ +++++++++++++++++++++++++++++++++--------------------
  tests/test_gi.py |   13 +++++++
- 2 files changed, 77 insertions(+), 40 deletions(-)
+ 2 files changed, 75 insertions(+), 38 deletions(-)
 
 commit 8f4e6536f3c2edf38a45632d1c23eb7c6681c3be
 Author: Sebastian Pölsterl <[email protected]>
@@ -5393,10 +5504,10 @@
 
     https://bugzilla.gnome.org/show_bug.cgi?id=639939
 
- gi/overrides/GLib.py   |  229
+ gi/overrides/GLib.py   |  199
  +++++++++++++++++++++++++----------------------
- tests/test_overrides.py |  159 +++++++++++++++++++++++++++++++--
- 2 files changed, 273 insertions(+), 115 deletions(-)
+ tests/test_overrides.py |  159 +++++++++++++++++++++++++++++++++++--
+ 2 files changed, 258 insertions(+), 100 deletions(-)
 
 commit ac095f5435f106e175fa3297cb273e63c85d2809
 Author: Tomeu Vizoso <[email protected]>
@@ -5784,10 +5895,10 @@
 
     [gi] fix marshalling structs
 
- gi/pygi-argument.c |  47 +++++++++++++++++++++++++++++++++++------------
+ gi/pygi-argument.c |  45 ++++++++++++++++++++++++++++++++++-----------
  gi/pygi-foreign.c  |  18 ++++++++++++------
  gi/pygi-foreign.h  |   8 ++++----
- 3 files changed, 51 insertions(+), 22 deletions(-)
+ 3 files changed, 50 insertions(+), 21 deletions(-)
 
 commit b2189424f9dd6d3a4a5b9792f0d5843fc27657d1
 Author: Sebastian Pölsterl <[email protected]>
@@ -6319,12 +6430,12 @@
 
     support callbacks
 
- gi/pygi-argument.c |  68 ++++++++++++++++++++++++++++++++++++++++++--
- gi/pygi-cache.c    |  80
- +++++++++++++++++++++++++++++++++++++++------------
+ gi/pygi-argument.c |  68 +++++++++++++++++++++++++++++++++++++++++++--
+ gi/pygi-cache.c    |  78
+ ++++++++++++++++++++++++++++++++++++++++------------
  gi/pygi-cache.h    |  13 +++++++-
  gi/pygi-invoke.c   |   2 +-
- 4 files changed, 138 insertions(+), 25 deletions(-)
+ 4 files changed, 137 insertions(+), 24 deletions(-)
 
 commit 914d3a0a29680f4d3aa0e1f8afdd625b017b013a
 Author: Sebastian Pölsterl <[email protected]>
@@ -9162,8 +9273,8 @@
 
     https://bugzilla.gnome.org/show_bug.cgi?id=615872
 
- gobject/pygtype.c |   31 +++++++++++++++++--------------
- 1 files changed, 17 insertions(+), 14 deletions(-)
+ gobject/pygtype.c |   29 ++++++++++++++++-------------
+ 1 files changed, 16 insertions(+), 13 deletions(-)
 
 commit 3d431c7dd0de97db10cb0c00c39d9c1837bed2f2
 Author: Tomeu Vizoso <[email protected]>
@@ -10280,15 +10391,15 @@
 
  gi/Makefile.am                  |    2 +
  gi/pygi-argument.c      |    2 +-
- gi/pygi-foreign-cairo.c  |   16 +++---
- gi/pygi-foreign.c       |  107
+ gi/pygi-foreign-cairo.c  |   16 ++++----
+ gi/pygi-foreign.c       |  105
  ++++++++++++++++++++++++++++-----------------
  gi/pygi-foreign.h       |    7 +--
  gi/pygi-invoke.c        |   18 ++++----
  gi/pygi-struct.c        |   10 ++++-
  gi/pygi.h               |    9 ++--
- tests/test_everything.py |    8 +++
- 9 files changed, 110 insertions(+), 69 deletions(-)
+ tests/test_everything.py |    8 ++++
+ 9 files changed, 109 insertions(+), 68 deletions(-)
 
 commit 3b3bd4da3fbc993fa7f7cfb46ed4e67671c94cc0
 Author: Tomeu Vizoso <[email protected]>
@@ -10559,16 +10670,16 @@
     https://bugzilla.gnome.org/show_bug.cgi?id=623021
 
  configure.ac           |    2 +
- gi/Makefile.am                 |   38 +++++++++-----
+ gi/Makefile.am                 |   38 ++++++++++-----
  gi/gimodule.c          |    8 +---
  gi/pygi-argument.c     |   10 +---
  gi/pygi-foreign-cairo.c |   56 ++++++++++++++++-----
  gi/pygi-foreign-cairo.h |   55 ---------------------
- gi/pygi-foreign.c      |  125
+ gi/pygi-foreign.c      |  123
  ++++++++++++++++++++++++++++-------------------
- gi/pygi-foreign.h      |   31 +++++------
- gi/pygi.h              |   40 +++++++++++++--
- 9 files changed, 196 insertions(+), 169 deletions(-)
+ gi/pygi-foreign.h      |   31 +++++-------
+ gi/pygi.h              |   40 ++++++++++++++--
+ 9 files changed, 195 insertions(+), 168 deletions(-)
 
 commit a6a90551311bc64f037cbd442e13f70c30060871
 Author: Tomeu Vizoso <[email protected]>
@@ -11653,12 +11764,12 @@
     This won't affect git blame nor git diff if the switch -w is used.
 
  gi/gimodule.c          |  138 ++++----
- gi/pygi-argument.c     |  960
+ gi/pygi-argument.c     |  958
  +++++++++++++++++++++++-----------------------
  gi/pygi-boxed.c        |  108 +++---
- gi/pygi-callbacks.c    |  154 ++++----
+ gi/pygi-callbacks.c    |  152 ++++----
  gi/pygi-callbacks.h    |    8 +-
- gi/pygi-closure.c      |  270 +++++++-------
+ gi/pygi-closure.c      |  266 +++++++-------
  gi/pygi-closure.h      |   18 +-
  gi/pygi-foreign-cairo.c |   36 +-
  gi/pygi-foreign-cairo.h |   36 +-
@@ -11671,7 +11782,7 @@
  gi/pygi-type.c                 |   32 +-
  gi/pygi.h              |   20 +-
  gi/pygobject-external.h |   14 +-
- 18 files changed, 1544 insertions(+), 1542 deletions(-)
+ 18 files changed, 1540 insertions(+), 1538 deletions(-)
 
 commit 6156f15cb15b4c20e975527227135d49207c520a
 Author: Tomeu Vizoso <[email protected]>
@@ -12146,9 +12257,9 @@
 
  gi/pygi-callbacks.c |  22 +-
  gi/pygi-callbacks.h |   4 +-
- gi/pygi-info.c      | 582
+ gi/pygi-info.c      | 576
  +++++++++++++++++++++++++++++----------------------
- 3 files changed, 346 insertions(+), 262 deletions(-)
+ 3 files changed, 343 insertions(+), 259 deletions(-)
 
 commit 7fc5528273edae5ecdd5d8bdf0e5b898eec7a624
 Author: Zach Goldberg <[email protected]>
@@ -12431,7 +12542,7 @@
 
     Add one more missing file to tarballs
 
- gi/overrides/Makefile.am          |    1 +
+ gi/overrides/Makefile.am |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
 
 commit 979e01852fc7f830ee91093accdc387fa535075f
@@ -12460,9 +12571,9 @@
  gi/pygi-info.c      |  86
  ++++++++++++++++++++++++++++++++++++++++++++++++-
  gi/pygi-info.h      |   1 +
- gi/types.py        |   44 +++++++++++++++++--------
+ gi/types.py        |   42 ++++++++++++++++-------
  tests/test_gi.py    |  18 ++++++++++
- 9 files changed, 227 insertions(+), 21 deletions(-)
+ 9 files changed, 226 insertions(+), 20 deletions(-)
 
 commit e239faacb4798fe2d166233ca1a19a843a6225e3
 Author: Zach Goldberg <[email protected]>
@@ -13868,8 +13979,8 @@
 
  gi/pygi-argument.c |  516
  ++++++++++++++++++++++++++++++++++++++++++----------
- gi/pygi-info.c     |  333 +++++++++++++++++----------------
- 2 files changed, 596 insertions(+), 253 deletions(-)
+ gi/pygi-info.c     |  327 +++++++++++++++++----------------
+ 2 files changed, 593 insertions(+), 250 deletions(-)
 
 commit d1ae73f3cf7cebdb74c9ec56b08928a2a53b9de6
 Author: Johan Dahlin <[email protected]>
@@ -14064,23 +14175,23 @@
 
     Remove the girepository module
 
- Makefile.am                       |    2 +-
- configure.ac                      |   17 -
- girepository/Makefile.am          |   54 --
- girepository/__init__.py          |   24 -
- girepository/bank-argument.c      |  379 ------------
- girepository/bank-info.c          | 1194
- ------------------------------------
- girepository/bank-repository.c     |  236 -------
- girepository/bank.c               |  155 -----
- girepository/bank.h               |   80 ---
- girepository/btypes.py                    |  300 ---------
- girepository/importer.py          |   51 --
- girepository/module.py                    |  224 -------
- girepository/overrides/Gdk.py     |   14 -
- girepository/overrides/Gtk.py     |    8 -
- girepository/repository.py        |   51 --
- tests/test_girepository.py        |  386 ------------
+ Makefile.am                   |    2 +-
+ configure.ac                  |   17 -
+ girepository/Makefile.am      |   54 --
+ girepository/__init__.py      |   24 -
+ girepository/bank-argument.c  |  379 -------------
+ girepository/bank-info.c      | 1194
+ ----------------------------------------
+ girepository/bank-repository.c |  236 --------
+ girepository/bank.c           |  155 ------
+ girepository/bank.h           |   80 ---
+ girepository/btypes.py                |  300 ----------
+ girepository/importer.py      |   51 --
+ girepository/module.py                |  224 --------
+ girepository/overrides/Gdk.py |   14 -
+ girepository/overrides/Gtk.py |    8 -
+ girepository/repository.py    |   51 --
+ tests/test_girepository.py    |  386 -------------
  16 files changed, 1 insertions(+), 3174 deletions(-)
 
 commit a644edf0515c26ed027522891ccf02aceac764e8
@@ -14812,10 +14923,10 @@
 
     Adds overrides modules from PyBank.
 
- girepository/Makefile.am          |    3 +++
- girepository/importer.py          |    3 +--
- girepository/overrides/Gdk.py     |   14 ++++++++++++++
- girepository/overrides/Gtk.py     |    8 ++++++++
+ girepository/Makefile.am      |    3 +++
+ girepository/importer.py      |    3 +--
+ girepository/overrides/Gdk.py |   14 ++++++++++++++
+ girepository/overrides/Gtk.py |    8 ++++++++
  4 files changed, 26 insertions(+), 2 deletions(-)
 
 commit c12964e6a3354d8063355225c94e6d21d621e08b
@@ -14824,9 +14935,9 @@
 
     Disables the tests that fail in tests/test_girepository.py.
 
- tests/test_girepository.py |  242
+ tests/test_girepository.py |  232
  +++++++++++++++++++++++++++++++++-----------
- 1 files changed, 182 insertions(+), 60 deletions(-)
+ 1 files changed, 177 insertions(+), 55 deletions(-)
 
 commit a4469a3f7d32a25156bae5e7aef9ec4ae5f6e140
 Author: Simon van der Linden <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/NEWS new/pygobject-3.0.2/NEWS
--- old/pygobject-3.0.1/NEWS    2011-09-30 19:43:29.000000000 +0200
+++ new/pygobject-3.0.2/NEWS    2011-10-22 00:18:59.000000000 +0200
@@ -1,3 +1,11 @@
+3.0.2   21-Oct-2011
+        - Add tests for boxed properties. (Ignacio Casal Quinteiro)
+        - Allow GBoxed types as property (Timo Vanwynsberghe)
+        - when converting an object with transfer none, make sure the wrapper 
owns a ref (John (J5) Palmieri)
+        - unit test for checking ref count of object param in signals (John 
(J5) Palmieri)
+        - Gdk overrides: Unbreak for Gdk-2.0 (Martin Pitt)
+        - Do union member checks for unions that are parameters (John (J5) 
Palmieri)
+
 3.0.1   30-Sep-2011
        - when checking instances union members are same type as parent
        - add a floating flag to pygobjects
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/PKG-INFO new/pygobject-3.0.2/PKG-INFO
--- old/pygobject-3.0.1/PKG-INFO        2011-09-30 19:44:23.000000000 +0200
+++ new/pygobject-3.0.2/PKG-INFO        2011-10-22 00:19:55.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: PyGObject
-Version: 3.0.1
+Version: 3.0.2
 Summary: Python bindings for GObject
 Home-page: http://www.pygtk.org/
 Author: James Henstridge
@@ -8,7 +8,7 @@
 Maintainer: Johan Dahlin
 Maintainer-email: [email protected]
 License: GNU LGPL
-Download-url: 
ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/3.0/pygobject-3.0.1.tar.gz
+Download-url: 
ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/3.0/pygobject-3.0.2.tar.gz
 Description: Python bindings for GLib and GObject
 Platform: POSIX, Windows
 Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/configure 
new/pygobject-3.0.2/configure
--- old/pygobject-3.0.1/configure       2011-09-30 19:44:15.000000000 +0200
+++ new/pygobject-3.0.2/configure       2011-10-22 00:19:47.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for pygobject 3.0.1.
+# Generated by GNU Autoconf 2.68 for pygobject 3.0.2.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject>.
 #
@@ -571,8 +571,8 @@
 # Identity of this package.
 PACKAGE_NAME='pygobject'
 PACKAGE_TARNAME='pygobject'
-PACKAGE_VERSION='3.0.1'
-PACKAGE_STRING='pygobject 3.0.1'
+PACKAGE_VERSION='3.0.2'
+PACKAGE_STRING='pygobject 3.0.2'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject'
 PACKAGE_URL=''
 
@@ -1358,7 +1358,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures pygobject 3.0.1 to adapt to many kinds of systems.
+\`configure' configures pygobject 3.0.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1428,7 +1428,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of pygobject 3.0.1:";;
+     short | recursive ) echo "Configuration of pygobject 3.0.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1553,7 +1553,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-pygobject configure 3.0.1
+pygobject configure 3.0.2
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1831,7 +1831,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by pygobject $as_me 3.0.1, which was
+It was created by pygobject $as_me 3.0.2, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -2195,9 +2195,9 @@
 PYGOBJECT_MINOR_VERSION=0
 
 
-$as_echo "#define PYGOBJECT_MICRO_VERSION 1" >>confdefs.h
+$as_echo "#define PYGOBJECT_MICRO_VERSION 2" >>confdefs.h
 
-PYGOBJECT_MICRO_VERSION=1
+PYGOBJECT_MICRO_VERSION=2
 
 
 ac_config_headers="$ac_config_headers config.h"
@@ -2681,7 +2681,7 @@
 
 # Define the identity of the package.
  PACKAGE='pygobject'
- VERSION='3.0.1'
+ VERSION='3.0.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12017,7 +12017,7 @@
 Report bugs to <[email protected]>."
 
 lt_cl_version="\
-pygobject config.lt 3.0.1
+pygobject config.lt 3.0.2
 configured by $0, generated by GNU Autoconf 2.68.
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -16723,7 +16723,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by pygobject $as_me 3.0.1, which was
+This file was extended by pygobject $as_me 3.0.2, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16789,7 +16789,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-pygobject config.status 3.0.1
+pygobject config.status 3.0.2
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/configure.ac 
new/pygobject-3.0.2/configure.ac
--- old/pygobject-3.0.1/configure.ac    2011-09-30 19:42:02.000000000 +0200
+++ new/pygobject-3.0.2/configure.ac    2011-09-30 20:20:59.000000000 +0200
@@ -12,7 +12,7 @@
 dnl the pygobject version number
 m4_define(pygobject_major_version, 3)
 m4_define(pygobject_minor_version, 0)
-m4_define(pygobject_micro_version, 1)
+m4_define(pygobject_micro_version, 2)
 m4_define(pygobject_version, 
pygobject_major_version.pygobject_minor_version.pygobject_micro_version)
 
 dnl versions of packages we require ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/gi/_gobject/propertyhelper.py 
new/pygobject-3.0.2/gi/_gobject/propertyhelper.py
--- old/pygobject-3.0.1/gi/_gobject/propertyhelper.py   2011-09-21 
08:56:03.000000000 +0200
+++ new/pygobject-3.0.2/gi/_gobject/propertyhelper.py   2011-10-10 
11:25:21.000000000 +0200
@@ -189,7 +189,8 @@
             return TYPE_PYOBJECT
         elif (isinstance(type_, type) and
               issubclass(type_, (_gobject.GObject,
-                                 _gobject.GEnum))):
+                                 _gobject.GEnum,
+                                 _gobject.GBoxed))):
             return type_.__gtype__
         elif type_ in [TYPE_NONE, TYPE_INTERFACE, TYPE_CHAR, TYPE_UCHAR,
                        TYPE_INT, TYPE_UINT, TYPE_BOOLEAN, TYPE_LONG,
@@ -303,7 +304,7 @@
             args = (self.default,)
         elif ptype == TYPE_PYOBJECT:
             args = ()
-        elif ptype.is_a(TYPE_OBJECT):
+        elif ptype.is_a(TYPE_OBJECT) or ptype.is_a(TYPE_BOXED):
             args = ()
         else:
             raise NotImplementedError(ptype)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/gi/overrides/Gdk.py 
new/pygobject-3.0.2/gi/overrides/Gdk.py
--- old/pygobject-3.0.1/gi/overrides/Gdk.py     2011-09-06 21:51:02.000000000 
+0200
+++ new/pygobject-3.0.2/gi/overrides/Gdk.py     2011-10-21 15:00:56.000000000 
+0200
@@ -293,53 +293,54 @@
     return color
 
 # constants
-SELECTION_PRIMARY = Gdk.atom_intern('PRIMARY', True)
-__all__.append('SELECTION_PRIMARY')
-
-SELECTION_SECONDARY = Gdk.atom_intern('SECONDARY', True)
-__all__.append('SELECTION_SECONDARY')
-
-SELECTION_CLIPBOARD = Gdk.atom_intern('CLIPBOARD', True)
-__all__.append('SELECTION_CLIPBOARD')
-
-TARGET_BITMAP = Gdk.atom_intern('BITMAP', True)
-__all__.append('TARGET_BITMAP')
-
-TARGET_COLORMAP = Gdk.atom_intern('COLORMAP', True)
-__all__.append('TARGET_COLORMAP')
-
-TARGET_DRAWABLE = Gdk.atom_intern('DRAWABLE', True)
-__all__.append('TARGET_DRAWABLE')
-
-TARGET_PIXMAP = Gdk.atom_intern('PIXMAP', True)
-__all__.append('TARGET_PIXMAP')
-
-TARGET_STRING = Gdk.atom_intern('STRING', True)
-__all__.append('TARGET_STRING')
-
-SELECTION_TYPE_ATOM = Gdk.atom_intern('ATOM', True)
-__all__.append('SELECTION_TYPE_ATOM')
-
-SELECTION_TYPE_BITMAP = Gdk.atom_intern('BITMAP', True)
-__all__.append('SELECTION_TYPE_BITMAP')
-
-SELECTION_TYPE_COLORMAP = Gdk.atom_intern('COLORMAP', True)
-__all__.append('SELECTION_TYPE_COLORMAP')
-
-SELECTION_TYPE_DRAWABLE = Gdk.atom_intern('DRAWABLE', True)
-__all__.append('SELECTION_TYPE_DRAWABLE')
-
-SELECTION_TYPE_INTEGER = Gdk.atom_intern('INTEGER', True)
-__all__.append('SELECTION_TYPE_INTEGER')
-
-SELECTION_TYPE_PIXMAP = Gdk.atom_intern('PIXMAP', True)
-__all__.append('SELECTION_TYPE_PIXMAP')
-
-SELECTION_TYPE_WINDOW = Gdk.atom_intern('WINDOW', True)
-__all__.append('SELECTION_TYPE_WINDOW')
-
-SELECTION_TYPE_STRING = Gdk.atom_intern('STRING', True)
-__all__.append('SELECTION_TYPE_STRING')
+if Gdk._version >= '3.0':
+    SELECTION_PRIMARY = Gdk.atom_intern('PRIMARY', True)
+    __all__.append('SELECTION_PRIMARY')
+    
+    SELECTION_SECONDARY = Gdk.atom_intern('SECONDARY', True)
+    __all__.append('SELECTION_SECONDARY')
+    
+    SELECTION_CLIPBOARD = Gdk.atom_intern('CLIPBOARD', True)
+    __all__.append('SELECTION_CLIPBOARD')
+    
+    TARGET_BITMAP = Gdk.atom_intern('BITMAP', True)
+    __all__.append('TARGET_BITMAP')
+    
+    TARGET_COLORMAP = Gdk.atom_intern('COLORMAP', True)
+    __all__.append('TARGET_COLORMAP')
+    
+    TARGET_DRAWABLE = Gdk.atom_intern('DRAWABLE', True)
+    __all__.append('TARGET_DRAWABLE')
+    
+    TARGET_PIXMAP = Gdk.atom_intern('PIXMAP', True)
+    __all__.append('TARGET_PIXMAP')
+    
+    TARGET_STRING = Gdk.atom_intern('STRING', True)
+    __all__.append('TARGET_STRING')
+    
+    SELECTION_TYPE_ATOM = Gdk.atom_intern('ATOM', True)
+    __all__.append('SELECTION_TYPE_ATOM')
+    
+    SELECTION_TYPE_BITMAP = Gdk.atom_intern('BITMAP', True)
+    __all__.append('SELECTION_TYPE_BITMAP')
+    
+    SELECTION_TYPE_COLORMAP = Gdk.atom_intern('COLORMAP', True)
+    __all__.append('SELECTION_TYPE_COLORMAP')
+    
+    SELECTION_TYPE_DRAWABLE = Gdk.atom_intern('DRAWABLE', True)
+    __all__.append('SELECTION_TYPE_DRAWABLE')
+    
+    SELECTION_TYPE_INTEGER = Gdk.atom_intern('INTEGER', True)
+    __all__.append('SELECTION_TYPE_INTEGER')
+    
+    SELECTION_TYPE_PIXMAP = Gdk.atom_intern('PIXMAP', True)
+    __all__.append('SELECTION_TYPE_PIXMAP')
+    
+    SELECTION_TYPE_WINDOW = Gdk.atom_intern('WINDOW', True)
+    __all__.append('SELECTION_TYPE_WINDOW')
+    
+    SELECTION_TYPE_STRING = Gdk.atom_intern('STRING', True)
+    __all__.append('SELECTION_TYPE_STRING')
 
 import sys
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/gi/pygi-argument.c 
new/pygobject-3.0.2/gi/pygi-argument.c
--- old/pygobject-3.0.1/gi/pygi-argument.c      2011-09-21 08:56:03.000000000 
+0200
+++ new/pygobject-3.0.2/gi/pygi-argument.c      2011-10-21 15:00:56.000000000 
+0200
@@ -1662,6 +1662,16 @@
                         Py_INCREF (object);
                         break;
                     }
+
+                    /* since we will unref the object when the
+                     * wrapper is destroyed and we don't want
+                     * GTK removing the object while the
+                     * wrapper is live, we take a gobject reference
+                     * when one is not transfered to us
+                     */
+                    if (transfer == GI_TRANSFER_NOTHING)
+                        g_object_ref (G_OBJECT(arg->v_pointer));
+
                     object = pygobject_new (arg->v_pointer);
                     break;
                 default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/gi/pygi-invoke.c 
new/pygobject-3.0.2/gi/pygi-invoke.c
--- old/pygobject-3.0.1/gi/pygi-invoke.c        2011-09-21 08:56:03.000000000 
+0200
+++ new/pygobject-3.0.2/gi/pygi-invoke.c        2011-10-22 00:18:43.000000000 
+0200
@@ -550,6 +550,16 @@
     total_out_args -= cache->n_to_py_child_args;
 
     if (cache->n_to_py_args - cache->n_to_py_child_args  == 0) {
+        if (cache->return_cache->is_skipped && state->error == NULL) {
+            /* we skip the return value and have no (out) arguments to return,
+             * so py_return should be NULL. But we must not return NULL,
+             * otherwise Python will expect an exception.
+             */
+            g_assert (py_return == NULL);
+            Py_INCREF(Py_None);
+            py_return = Py_None;
+        }
+
         py_out = py_return;
     } else if (total_out_args == 1) {
         /* if we get here there is one out arg an no return */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/gi/pygi-marshal-from-py.c 
new/pygobject-3.0.2/gi/pygi-marshal-from-py.c
--- old/pygobject-3.0.1/gi/pygi-marshal-from-py.c       2011-09-30 
19:39:51.000000000 +0200
+++ new/pygobject-3.0.2/gi/pygi-marshal-from-py.c       2011-10-21 
15:00:56.000000000 +0200
@@ -32,6 +32,62 @@
 #include "pygi-marshal-cleanup.h"
 #include "pygi-marshal-from-py.h"
 
+/*
+ * _is_union_member - check to see if the py_arg is actually a member of the
+ * expected C union
+ */
+static gboolean
+_is_union_member (PyGIInterfaceCache *iface_cache, PyObject *py_arg) {
+    gint i;
+    gint n_fields;
+    GIUnionInfo *union_info;
+    GIInfoType info_type;
+    gboolean is_member = FALSE;
+
+    info_type = g_base_info_get_type (iface_cache->interface_info);
+
+    if (info_type != GI_INFO_TYPE_UNION)
+        return FALSE;
+
+    union_info = (GIUnionInfo *) iface_cache->interface_info;
+    n_fields = g_union_info_get_n_fields (union_info);
+
+    for (i = 0; i < n_fields; i++) {
+        GIFieldInfo *field_info;
+        GITypeInfo *field_type_info;
+
+        field_info = g_union_info_get_field (union_info, i);
+        field_type_info = g_field_info_get_type (field_info);
+
+        /* we can only check if the members are interfaces */
+        if (g_type_info_get_tag (field_type_info) == GI_TYPE_TAG_INTERFACE) {
+            PyObject *py_type;
+            GIInterfaceInfo *field_iface_info =
+                g_type_info_get_interface (field_type_info);
+
+            py_type = _pygi_type_import_by_gi_info (
+                (GIBaseInfo *) field_iface_info);
+
+            if (py_type != NULL && PyObject_IsInstance (py_arg, py_type)) {
+                is_member = TRUE;
+                break;
+            }
+
+            Py_XDECREF (py_type);
+            g_base_info_unref ( ( GIBaseInfo *) field_iface_info);
+
+        }
+
+        g_base_info_unref ( ( GIBaseInfo *) field_type_info);
+        g_base_info_unref ( ( GIBaseInfo *) field_info);
+
+        if (is_member)
+            break;
+    }
+
+    return is_member;
+}
+
 gboolean
 _pygi_marshal_from_py_void (PyGIInvokeState   *state,
                             PyGICallableCache *callable_cache,
@@ -1325,10 +1381,15 @@
 
         return (success == Py_None);
     } else if (!PyObject_IsInstance (py_arg, iface_cache->py_type)) {
-        PyErr_Format (PyExc_TypeError, "Expected %s, but got %s",
-                      iface_cache->type_name,
-                      iface_cache->py_type->ob_type->tp_name);
-        return FALSE;
+        /* first check to see if this is a member of the expected union */
+        if (!_is_union_member (iface_cache, py_arg)) {
+            if (!PyErr_Occurred())
+                PyErr_Format (PyExc_TypeError, "Expected %s, but got %s",
+                              iface_cache->type_name,
+                              iface_cache->py_type->ob_type->tp_name);
+
+            return FALSE;
+        }
     }
 
     if (g_type_is_a (iface_cache->g_type, G_TYPE_BOXED)) {
@@ -1417,59 +1478,13 @@
 
             if (!PyObject_IsInstance (py_arg, iface_cache->py_type)) {
                 /* wait, we might be a member of a union so manually check */
-                if (info_type == GI_INFO_TYPE_UNION) {
-                    gint i;
-                    gint n_fields;
-                    gboolean is_member = FALSE;
-                    GIUnionInfo *union_info = (GIUnionInfo *) 
iface_cache->interface_info;
-
-                    n_fields = g_union_info_get_n_fields (union_info);
-
-                    for (i = 0; i < n_fields; i++) {
-                        GIFieldInfo *field_info;
-                        GITypeInfo *field_type_info;
-
-                        field_info = g_union_info_get_field (union_info, i);
-                        field_type_info = g_field_info_get_type (field_info);
-
-                        /* we can only check if the members are interfaces */
-                        if (g_type_info_get_tag (field_type_info) ==
-                            GI_TYPE_TAG_INTERFACE) {
-                            PyObject *py_type;
-                            GIInterfaceInfo *field_iface_info =
-                                g_type_info_get_interface(field_type_info);
-
-                            py_type = _pygi_type_import_by_gi_info (
-                                (GIBaseInfo *) field_iface_info);
-
-                            if (PyObject_IsInstance (py_arg, py_type)) {
-                                is_member = TRUE;
-                                break;
-                            }
-
-                            Py_XDECREF (py_type);
-                            g_base_info_unref ( ( GIBaseInfo *) 
field_iface_info);
-
-                        }
-
-                        g_base_info_unref ( ( GIBaseInfo *) field_type_info);
-                        g_base_info_unref ( ( GIBaseInfo *) field_info);
-
-                        if (is_member)
-                            break;
-                    }
-
-                    if (!is_member) {
+                if (!_is_union_member (iface_cache, py_arg)) {
+                    if (!PyErr_Occurred())
                         PyErr_Format (PyExc_TypeError,
                                       "Expected a %s, but got %s",
                                       iface_cache->type_name,
                                       py_arg->ob_type->tp_name);
-                        return FALSE;
-                    }
-                } else {
-                    PyErr_Format (PyExc_TypeError, "Expected a %s, but got %s",
-                                  iface_cache->type_name,
-                                  py_arg->ob_type->tp_name);
+
                     return FALSE;
                 }
             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/tests/test_everything.py 
new/pygobject-3.0.2/tests/test_everything.py
--- old/pygobject-3.0.1/tests/test_everything.py        2011-08-31 
17:38:09.000000000 +0200
+++ new/pygobject-3.0.2/tests/test_everything.py        2011-10-22 
00:18:43.000000000 +0200
@@ -483,3 +483,22 @@
         self.assertEquals(ret[0], 51);
         self.assertEquals(ret[1], 61);
         self.assertEquals(ret[2], 32);
+
+    def test_obj_skip_return_val_no_out(self):
+        obj = Everything.TestObj();
+        # raises an error for 0, succeeds for any other value
+        self.assertRaises(GLib.GError, obj.skip_return_val_no_out, 0)
+
+        ret = obj.skip_return_val_no_out(1)
+        self.assertEquals(ret, None)
+
+class TestSignals(unittest.TestCase):
+    def test_object_param_signal(self):
+        obj = Everything.TestObj();
+
+        def callback (obj_param):
+            self.assertEquals(obj_param.props.int, 3)
+            self.assertEquals(obj_param.__grefcount__, 2)
+
+        obj.connect('sig-with-obj', callback)
+        obj.emit_sig_with_obj()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.0.1/tests/test_properties.py 
new/pygobject-3.0.2/tests/test_properties.py
--- old/pygobject-3.0.1/tests/test_properties.py        2011-08-15 
10:39:57.000000000 +0200
+++ new/pygobject-3.0.2/tests/test_properties.py        2011-10-10 
11:21:48.000000000 +0200
@@ -15,6 +15,7 @@
      G_MAXULONG
 
 from gi.repository import Gio
+from gi.repository import GLib
 
 if sys.version_info < (3, 0):
     TEST_UTF8 = "\xe2\x99\xa5"
@@ -39,6 +40,9 @@
     enum = GObject.property(
         type=Gio.SocketType, default=Gio.SocketType.STREAM)
 
+    boxed = GObject.property(
+        type=GLib.Regex, flags=PARAM_READWRITE|PARAM_CONSTRUCT)
+
 class TestProperties(unittest.TestCase):
     def testGetSet(self):
         obj = PropertyObject()
@@ -67,8 +71,9 @@
                                                'construct',
                                                'construct-only',
                                                'uint64',
-                                               'enum'])
-            self.assertEqual(len(obj), 5)
+                                               'enum',
+                                               'boxed'])
+            self.assertEqual(len(obj), 6)
 
     def testNormal(self):
         obj = new(PropertyObject, normal="123")
@@ -161,6 +166,17 @@
         self.assertRaises(TypeError, GObject.property, type=Gio.SocketType,
                           default=1)
 
+    def textBoxed(self):
+        obj = new(PropertyObject)
+
+        regex = GLib.Regex.new('[a-z]*', 0, 0)
+        obj.props.boxed = regex
+        self.assertEqual(obj.props.boxed.get_pattern(), '[a-z]*')
+        self.assertEqual(obj.boxed.get_patttern(), '[a-z]*')
+
+        self.assertRaises(TypeError, setattr, obj, 'boxed', 'foo')
+        self.assertRaises(TypeError, setattr, obj, 'boxed', object())
+
     def testRange(self):
         # kiwi code
         def max(c):

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to