comparison gtk3/dw.c @ 1900:969f7bbc0ff5

Fixed memory leak in dw_tree_get_parent() on GTK2/3... This also makes this function return the same handle instead of a unique handle referencing the same node.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 21 Mar 2014 11:12:46 +0000
parents ed377fd16360
children 5035750bcc65
comparison
equal deleted inserted replaced
1899:7ffa1b256c33 1900:969f7bbc0ff5
5339 tree = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_user"); 5339 tree = (GtkWidget *)g_object_get_data(G_OBJECT(handle), "_dw_user");
5340 5340
5341 if(tree && GTK_IS_TREE_VIEW(tree) && 5341 if(tree && GTK_IS_TREE_VIEW(tree) &&
5342 (store = (GtkTreeModel *)gtk_tree_view_get_model(GTK_TREE_VIEW(tree)))) 5342 (store = (GtkTreeModel *)gtk_tree_view_get_model(GTK_TREE_VIEW(tree))))
5343 { 5343 {
5344 GtkTreeIter *p = malloc(sizeof(GtkTreeIter)); 5344 GtkTreeIter iter;
5345 5345
5346 if(gtk_tree_model_iter_parent(store, p, (GtkTreeIter *)item)) 5346 if(gtk_tree_model_iter_parent(store, &iter, (GtkTreeIter *)item))
5347 parent = p; 5347 gtk_tree_model_get(store, &iter, 3, &parent, -1);
5348 else
5349 free(p);
5350 } 5348 }
5351 DW_MUTEX_UNLOCK; 5349 DW_MUTEX_UNLOCK;
5352 return parent; 5350 return parent;
5353 } 5351 }
5354 5352