summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gi/overrides/GLib.py12
-rw-r--r--gi/overrides/GObject.py4
-rw-r--r--tests/test_overrides_glib.py7
3 files changed, 22 insertions, 1 deletions
diff --git a/gi/overrides/GLib.py b/gi/overrides/GLib.py
index c1f1691a..455ea842 100644
--- a/gi/overrides/GLib.py
+++ b/gi/overrides/GLib.py
@@ -40,6 +40,7 @@ __all__.append('option')
# Types and functions still needed from static bindings
from gi._gi import _glib
+from gi._gi import _gobject
from gi._error import GError
Error = GError
@@ -530,6 +531,17 @@ for n in ['UNKNOWN_OPTION', 'BAD_VALUE', 'FAILED']:
__all__.append(attr)
+# these are not currently exported in GLib gir, presumably because they are
+# platform dependent; so get them from our static bindings
+for name in ['G_MINFLOAT', 'G_MAXFLOAT', 'G_MINDOUBLE', 'G_MAXDOUBLE',
+ 'G_MINSHORT', 'G_MAXSHORT', 'G_MAXUSHORT', 'G_MININT', 'G_MAXINT',
+ 'G_MAXUINT', 'G_MINLONG', 'G_MAXLONG', 'G_MAXULONG', 'G_MAXSIZE',
+ 'G_MINSSIZE', 'G_MAXSSIZE', 'G_MINOFFSET', 'G_MAXOFFSET']:
+ attr = name.split("_", 1)[-1]
+ globals()[attr] = getattr(_gobject, name)
+ __all__.append(attr)
+
+
class MainLoop(GLib.MainLoop):
# Backwards compatible constructor API
def __new__(cls, context=None):
diff --git a/gi/overrides/GObject.py b/gi/overrides/GObject.py
index d0d52252..28408b2f 100644
--- a/gi/overrides/GObject.py
+++ b/gi/overrides/GObject.py
@@ -100,7 +100,9 @@ for name in ['G_MINFLOAT', 'G_MAXFLOAT', 'G_MINDOUBLE', 'G_MAXDOUBLE',
'G_MINSHORT', 'G_MAXSHORT', 'G_MAXUSHORT', 'G_MININT', 'G_MAXINT',
'G_MAXUINT', 'G_MINLONG', 'G_MAXLONG', 'G_MAXULONG', 'G_MAXSIZE',
'G_MINSSIZE', 'G_MAXSSIZE', 'G_MINOFFSET', 'G_MAXOFFSET']:
- globals()[name] = getattr(_gobject, name)
+ new_name = name.split("_", 1)[-1]
+ globals()[name] = getattr(GLib, new_name)
+ deprecated_attr("GObject", name, "GLib." + new_name)
__all__.append(name)
diff --git a/tests/test_overrides_glib.py b/tests/test_overrides_glib.py
index af688952..4f630dc4 100644
--- a/tests/test_overrides_glib.py
+++ b/tests/test_overrides_glib.py
@@ -494,3 +494,10 @@ class TestGVariant(unittest.TestCase):
# with override constructor
v = GLib.Variant('(is)', (1, 'somestring'))
self.assertEqual(str(v), "(1, 'somestring')")
+
+
+class TestConstants(unittest.TestCase):
+
+ def test_basic_types_limits(self):
+ self.assertTrue(isinstance(GLib.MINFLOAT, float))
+ self.assertTrue(isinstance(GLib.MAXLONG, (int, _long)))