57 lines
1.9 KiB
Diff
57 lines
1.9 KiB
Diff
From 8e7f6f1458cf1c162c13422c72562b00433b762b Mon Sep 17 00:00:00 2001
|
|
From: Christoph Reiter <creiter@src.gnome.org>
|
|
Date: Sun, 11 Oct 2015 01:28:48 +0200
|
|
Subject: [PATCH] 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(+)
|
|
|
|
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))
|
|
--
|
|
2.5.0
|
|
|