[glib] gtype: make these cases fatal.



commit 6c1276eb5fcc19921d0a0584aee140bccc3f8488
Author: Stefan Sauer <ensonic users sf net>
Date:   Tue Jun 12 20:22:39 2012 +0200

    gtype: make these cases fatal.
    
    Otherwise we crash with a null-ptr deref in g_object_newv and ever there we
    should not return null, as we're saying that object creation will not return
    null.

 gobject/gtype.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
---
diff --git a/gobject/gtype.c b/gobject/gtype.c
index f9e5a61..075e2bc 100644
--- a/gobject/gtype.c
+++ b/gobject/gtype.c
@@ -1854,16 +1854,14 @@ g_type_create_instance (GType type)
   node = lookup_type_node_I (type);
   if (!node || !node->is_instantiatable)
     {
-      g_warning ("cannot create new instance of invalid (non-instantiatable) type `%s'",
+      g_error ("cannot create new instance of invalid (non-instantiatable) type `%s'",
 		 type_descriptive_name_I (type));
-      return NULL;
     }
   /* G_TYPE_IS_ABSTRACT() is an external call: _U */
   if (!node->mutatable_check_cache && G_TYPE_IS_ABSTRACT (type))
     {
-      g_warning ("cannot create instance of abstract (non-instantiatable) type `%s'",
+      g_error ("cannot create instance of abstract (non-instantiatable) type `%s'",
 		 type_descriptive_name_I (type));
-      return NULL;
     }
   
   class = g_type_class_ref (type);



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