* Find a menu in the GtkTree starting at parent. */
| 1209 | * Find a menu in the GtkTree starting at parent. |
| 1210 | */ |
| 1211 | static GtkTreeIter *gtktree_iter_find_node(GtkTreeIter *parent, |
| 1212 | struct menu *tofind) |
| 1213 | { |
| 1214 | GtkTreeIter iter; |
| 1215 | GtkTreeIter *child = &iter; |
| 1216 | gboolean valid; |
| 1217 | GtkTreeIter *ret; |
| 1218 | |
| 1219 | valid = gtk_tree_model_iter_children(model2, child, parent); |
| 1220 | while (valid) { |
| 1221 | struct menu *menu; |
| 1222 | |
| 1223 | gtk_tree_model_get(model2, child, 6, &menu, -1); |
| 1224 | |
| 1225 | if (menu == tofind) { |
| 1226 | memcpy(&found, child, sizeof(GtkTreeIter)); |
| 1227 | return &found; |
| 1228 | } |
| 1229 | |
| 1230 | ret = gtktree_iter_find_node(child, tofind); |
| 1231 | if (ret) |
| 1232 | return ret; |
| 1233 | |
| 1234 | valid = gtk_tree_model_iter_next(model2, child); |
| 1235 | } |
| 1236 | |
| 1237 | return NULL; |
| 1238 | } |
| 1239 | |
| 1240 | |
| 1241 | /* |