pidgin/gtklog.c

changeset 15613
9a6ec23fe078
parent 15612
5de26d19e4e5
child 15639
4d29fa62453d
equal deleted inserted replaced
15612:5de26d19e4e5 15613:9a6ec23fe078
218 gaim_notify_error(NULL, NULL, "Log Deletion Failed", 218 gaim_notify_error(NULL, NULL, "Log Deletion Failed",
219 "Check permissions and try again."); 219 "Check permissions and try again.");
220 } 220 }
221 else 221 else
222 { 222 {
223 gtk_tree_store_remove((GtkTreeStore *)data[0], (GtkTreeIter *)data[1]); 223 GtkTreeStore *treestore = data[0];
224 GtkTreeIter *iter = (GtkTreeIter *)data[1];
225 GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), iter);
226 gboolean first = !gtk_tree_path_prev(path);
227
228 if (!gtk_tree_store_remove(treestore, iter) && first)
229 {
230 /* iter was the last child at its level */
231
232 if (gtk_tree_path_up(path))
233 {
234 gtk_tree_model_get_iter(GTK_TREE_MODEL(treestore), iter, path);
235 gtk_tree_store_remove(treestore, iter);
236 }
237 }
238 gtk_tree_path_free(path);
224 } 239 }
225 240
226 delete_log_cleanup_cb(data); 241 delete_log_cleanup_cb(data);
227 } 242 }
228 243

mercurial