fix assertion failure when string transform is requested before entry is set

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2013-06-29 17:16:49 +00:00
parent 6f65a5e1aa
commit 2abf710786

View File

@@ -149,14 +149,17 @@ static void gtk_tree_entry_string_transform_func(const GValue *src_value,
GValue *dest_value) GValue *dest_value)
{ {
GtkTreeEntry *entry; 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 */ /* 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)); g_assert(G_VALUE_HOLDS(dest_value, G_TYPE_STRING));
/* TODO: Use strdup here or just pass it? */ entry = GTK_TREE_ENTRY(src_ptr);
entry = GTK_TREE_ENTRY(src_value->data[0].v_pointer);
g_value_set_string(dest_value, entry->label); g_value_set_string(dest_value, entry->label);
} }