summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gobject/pygoptiongroup.c4
-rw-r--r--tests/test_option.py5
3 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 15e832b..9ca6056 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,12 @@
2006-11-18 Johan Dahlin <jdahlin@async.com.br>
+ * gobject/pygoptiongroup.c (pyg_option_group_dealloc):
+ * tests/test_option.py (TestOption.testBadConstructor):
+ Make sure an exception is raised when we pass in invalid arguments
+ to the optiongroup constructor, add a test. #364576 (Laszlo Pandy)
+
* gobject/pygobject.c (pygobject_register_class): set __module__ on
- gobject derived types, fixes #376099
+ gobject derived types, fixes #376099 (Osmo Salomaa)
2006-11-18 Yevgen Muntyan <muntyan@tamu.edu>
diff --git a/gobject/pygoptiongroup.c b/gobject/pygoptiongroup.c
index 4b284c6..09058d8 100644
--- a/gobject/pygoptiongroup.c
+++ b/gobject/pygoptiongroup.c
@@ -88,9 +88,9 @@ pyg_option_group_dealloc(PyGOptionGroup *self)
if (!self->other_owner && !self->is_in_context)
{
GOptionGroup *tmp = self->group;
- g_assert(tmp != NULL);
self->group = NULL;
- g_option_group_free(tmp);
+ if (tmp)
+ g_option_group_free(tmp);
}
PyObject_Del(self);
diff --git a/tests/test_option.py b/tests/test_option.py
index ace7bdb..84e9305 100644
--- a/tests/test_option.py
+++ b/tests/test_option.py
@@ -28,7 +28,7 @@ class TestOption(unittest.TestCase):
parser.add_option("-t", "--test", help="Unit test option",
action="store_false", dest="test", default=True)
return parser
-
+
def testOption(self):
parser = self.setup_parser()
group = self.setup_group()
@@ -38,3 +38,6 @@ class TestOption(unittest.TestCase):
assert group.values.test
assert not parser.values.test
assert group.values.unit_file == "test"
+
+ def testBadConstructor(self):
+ self.assertRaises(TypeError, option.OptionGroup)