Mercurial > dwindows
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 |