Archive for March, 2008

Fixing dependency loops

Posted by Griffon26 on March 15th, 2008

Since last time I posted, the libgda-3 work has been finished and checked in. The final patch turned out to be 81K in size. =)

For this post I will describe what I’ve been doing to fix bug #382548. This bug allows you to create dependency loops in tasks.

The simplest type of loop that can be created is this one:

A simple loop

You could create this by first setting task2 as a predecessor of task1 and then indenting task2 to become a child of task1. Planner does not allow you to do it the other way around, first indenting task2 and then adding it as a predecessor of task1.

To see how Planner tries to detect these loops, we’ll have to take a look at libplanner/mrp-task-manager.c.

(more…)