]> git.saurik.com Git - wxWidgets.git/commitdiff
fix assertion failure when string transform is requested before entry is set
authorPaul Cornett <paulcor@bullseye.com>
Sat, 29 Jun 2013 17:16:49 +0000 (17:16 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Sat, 29 Jun 2013 17:16:49 +0000 (17:16 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/treeentry_gtk.c

index b890df7a2385f988a122e1e14921d6c53c928e08..1f3bf2b7f4cbda6e81e44ee0306a3448f13be4b5 100644 (file)
@@ -149,14 +149,17 @@ static void gtk_tree_entry_string_transform_func(const GValue *src_value,
                                                  GValue *dest_value)
 {
     GtkTreeEntry *entry;
+    void* src_ptr = g_value_peek_pointer(src_value);
+
+    /* can be NULL if transform is requested before entry is set */
+    if (src_ptr == NULL)
+        return;
 
     /* Make sure src is a treeentry and dest can hold a string */
-    g_assert(GTK_IS_TREE_ENTRY(src_value->data[0].v_pointer));
+    g_assert(GTK_IS_TREE_ENTRY(src_ptr));
     g_assert(G_VALUE_HOLDS(dest_value, G_TYPE_STRING));
 
-    /* TODO: Use strdup here or just pass it? */
-    entry = GTK_TREE_ENTRY(src_value->data[0].v_pointer);
-
+    entry = GTK_TREE_ENTRY(src_ptr);
     g_value_set_string(dest_value, entry->label);
 }