mirror of https://github.com/GNOME/gimp.git
app: don't reverse lists in GimpFilterStack and GimpUndoEditor
GimpList has a tail pointer now and can be traversed in reverse order.
This commit is contained in:
parent
1334788ce4
commit
f1f91ecc2f
|
@ -180,9 +180,8 @@ GeglNode *
|
|||
gimp_filter_stack_get_graph (GimpFilterStack *stack)
|
||||
{
|
||||
GList *list;
|
||||
GList *reverse_list = NULL;
|
||||
GeglNode *first = NULL;
|
||||
GeglNode *previous = NULL;
|
||||
GeglNode *first = NULL;
|
||||
GeglNode *previous = NULL;
|
||||
GeglNode *input;
|
||||
GeglNode *output;
|
||||
|
||||
|
@ -191,18 +190,11 @@ gimp_filter_stack_get_graph (GimpFilterStack *stack)
|
|||
if (stack->graph)
|
||||
return stack->graph;
|
||||
|
||||
for (list = GIMP_LIST (stack)->queue->head;
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
{
|
||||
GimpFilter *filter = list->data;
|
||||
|
||||
reverse_list = g_list_prepend (reverse_list, filter);
|
||||
}
|
||||
|
||||
stack->graph = gegl_node_new ();
|
||||
|
||||
for (list = reverse_list; list; list = g_list_next (list))
|
||||
for (list = GIMP_LIST (stack)->queue->tail;
|
||||
list;
|
||||
list = g_list_previous (list))
|
||||
{
|
||||
GimpFilter *filter = list->data;
|
||||
GeglNode *node = gimp_filter_get_node (filter);
|
||||
|
@ -219,8 +211,6 @@ gimp_filter_stack_get_graph (GimpFilterStack *stack)
|
|||
previous = node;
|
||||
}
|
||||
|
||||
g_list_free (reverse_list);
|
||||
|
||||
input = gegl_node_get_input_proxy (stack->graph, "input");
|
||||
output = gegl_node_get_output_proxy (stack->graph, "output");
|
||||
|
||||
|
|
|
@ -261,17 +261,16 @@ gimp_undo_editor_fill (GimpUndoEditor *editor)
|
|||
"name", _("[ Base Image ]"),
|
||||
NULL);
|
||||
|
||||
/* the list prepends its items, so first add the redo items... */
|
||||
for (list = GIMP_LIST (redo_stack->undos)->queue->head;
|
||||
/* the list prepends its items, so first add the redo items in
|
||||
* reverse (ascending) order...
|
||||
*/
|
||||
for (list = GIMP_LIST (redo_stack->undos)->queue->tail;
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
list = g_list_previous (list))
|
||||
{
|
||||
gimp_container_add (editor->container, GIMP_OBJECT (list->data));
|
||||
}
|
||||
|
||||
/* ...reverse the list so the redo items are in ascending order... */
|
||||
gimp_list_reverse (GIMP_LIST (editor->container));
|
||||
|
||||
/* ...then add the undo items in descending order... */
|
||||
for (list = GIMP_LIST (undo_stack->undos)->queue->head;
|
||||
list;
|
||||
|
|
Loading…
Reference in New Issue