Diagram freeze with DashStyle.DashDotDot

Hi.

We are using the latest release (5.2.0.46).

I got a problem with a freezing applications using GoDiagram and node links with DashStyle.DashDotDot. I took your sample DoubleTree and modified it to reproduce the problem. Just use the following code instead of yours for the prototype link in line 55:

GoLink protolink = new GoLink(); protolink.ToArrow = true; protolink.Orthogonal = true; protolink.Style = GoStrokeStyle.Bezier; protolink.Style = GoStrokeStyle.RoundedLineWithJumpGaps; protolink.AvoidsNodes = true; Pen newPen = new Pen(protolink.PenColor, protolink.PenWidth); newPen.DashStyle = DashStyle.DashDotDot; protolink.Pen = newPen; tr.TreeLinkPrototype = protolink;

Now start the demo and move the node “right2” up to the “right1” node. See the images attached. Please make sure there will be a gap between the node “right2” and the node link to node “right3”.

If you now zoom in and out (e.g. with Ctrl+Mouse Wheel), the application will freeze for some seconds.

How can we avoid such a behaviour?

Thanks in advance.

Best regards
Denny

Looks like I was able to reproduce at least once. Will look at this later this week.

Does it only happen with DashDotDot?

I could reproduce it (with the sample above) with all three dash styles (Dash, DashDot, DashDotDot).

I built a copy of DoubleTree with a debug version of GoDiagram. Every time I see the hang and force a breakpoint, the code is at g.DrawPath(pen, path);

So… it appears the pause is down inside .NET.

I tried DashPattern

    float[] dashValues = { 5, 2, 15, 4 };
    newPen.DashPattern = dashValues;

with the same results. Not sure what I can do about this.