[gtk+] Fixed gtk_builder_value_from_string_type() to always assign the GError when returning FALSE, fixes b



commit d92ee6dc68b6bc5464cb512e53396b834879843d
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Tue Apr 6 16:23:13 2010 -0400

    Fixed gtk_builder_value_from_string_type() to always assign the GError
    when returning FALSE, fixes bgo #615000.

 gtk/gtkbuilder.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c
index 9aafaad..7c1c670 100644
--- a/gtk/gtkbuilder.c
+++ b/gtk/gtkbuilder.c
@@ -1390,14 +1390,19 @@ gtk_builder_value_from_string_type (GtkBuilder   *builder,
         ret = FALSE;
       break;
     default:
-      g_set_error (error,
-		   GTK_BUILDER_ERROR,
-		   GTK_BUILDER_ERROR_INVALID_VALUE,
-		   "Unsupported GType `%s'",
-		   g_type_name (type));
       ret = FALSE;
       break;
     }
+ 
+  /* Catch unassigned error for object types as well as any unsupported types.
+   * While parsing GtkBuilder; object types are deserialized
+   * without calling gtk_builder_value_from_string_type().
+   */
+  if (!ret && error && *error == NULL) 
+    g_set_error (error,
+		 GTK_BUILDER_ERROR,
+		 GTK_BUILDER_ERROR_INVALID_VALUE,
+		 "Unsupported GType `%s'", g_type_name (type));
 
   return ret;
 }



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