From 62b16247b9230a975d85e749da9f1b199fbc3c84 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 25 Nov 2018 13:13:38 +0100 Subject: GValue.get_value: fix crashes for Variants g_value_get_variant is transfer-none but was annotated as full which results in the bindings unreffing it too many times. Work around the issue by using g_value_dup_variant instead which is really transfer-full. --- tests/test_overrides_gobject.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'tests/test_overrides_gobject.py') diff --git a/tests/test_overrides_gobject.py b/tests/test_overrides_gobject.py index b902564f..37292dbb 100644 --- a/tests/test_overrides_gobject.py +++ b/tests/test_overrides_gobject.py @@ -183,13 +183,14 @@ def test_value_variant(): assert v.get_value() is None variant = GLib.Variant('i', 42) v.set_value(variant) - - # FIXME: triggers an assert - # assert v.get_value() == variant + assert v.get_value() == variant v.set_value(None) assert v.get_value() is None + with pytest.raises(TypeError): + v.set_value(object()) + def test_value_param(): # FIXME: set_value and get_value trigger a critical -- cgit v1.2.1