[pygobject] Fix Gdk.rectangle_intersect/rectangle_union missing with GTK+ 3.18



commit dfa3a85290dd97ecd7cbe8f12fbc1ff2db5a1155
Author: Christoph Reiter <creiter src gnome org>
Date:   Sun Oct 11 01:28:48 2015 +0200

    Fix Gdk.rectangle_intersect/rectangle_union missing with GTK+ 3.18
    
    3.18 added a Gdk.Rectangle type which changed these functions
    to methods in the gir.
    
    Fix by providing aliases in the Gdk overrides.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=756364

 gi/overrides/Gdk.py         |    8 ++++++++
 tests/test_overrides_gdk.py |    9 +++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/gi/overrides/Gdk.py b/gi/overrides/Gdk.py
index 3ab5d6d..840affe 100644
--- a/gi/overrides/Gdk.py
+++ b/gi/overrides/Gdk.py
@@ -134,6 +134,14 @@ else:
         Rectangle = _cairo.RectangleInt
 
         __all__.append('Rectangle')
+    else:
+        # https://bugzilla.gnome.org/show_bug.cgi?id=756364
+        # These methods used to be functions, keep aliases for backwards compat
+        rectangle_intersect = Gdk.Rectangle.intersect
+        rectangle_union = Gdk.Rectangle.union
+
+        __all__.append('rectangle_intersect')
+        __all__.append('rectangle_union')
 
 if Gdk._version == '2.0':
     class Drawable(Gdk.Drawable):
diff --git a/tests/test_overrides_gdk.py b/tests/test_overrides_gdk.py
index eff2c54..9559a09 100644
--- a/tests/test_overrides_gdk.py
+++ b/tests/test_overrides_gdk.py
@@ -184,3 +184,12 @@ class TestGdk(unittest.TestCase):
 
         rgba = Gdk.RGBA(red=1.0, green=0.8, blue=0.6, alpha=0.4)
         self.assertEqual(eval(repr(rgba)), rgba)
+
+    def test_rectangle_functions(self):
+        # https://bugzilla.gnome.org/show_bug.cgi?id=756364
+        a = Gdk.Rectangle()
+        b = Gdk.Rectangle()
+        self.assertTrue(isinstance(Gdk.rectangle_union(a, b), Gdk.Rectangle))
+        intersect, rect = Gdk.rectangle_intersect(a, b)
+        self.assertTrue(isinstance(rect, Gdk.Rectangle))
+        self.assertTrue(isinstance(intersect, bool))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]