GNOME Bugzilla – Bug 312641
small arcs are not rendered well
Last modified: 2011-06-13 15:19:27 UTC
Please describe the problem: If you make an arc with a small arc_distance (around .1) and close endpoints (distance around 1), the complement of the arc is drawn (full circle - real arc) instead of the arc itself. Steps to reproduce: <dia:object type="Standard - Arc" version="0" id="O0"> <dia:attribute name="obj_pos"> <dia:point val="19,10.3"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="18.699,10.2446;19.3524,11.707"/> </dia:attribute> <dia:attribute name="conn_endpoints"> <dia:point val="19,10.3"/> <dia:point val="18.85,11.6"/> </dia:attribute> <dia:attribute name="curve_distance"> <dia:real val="0.16811535837819222"/> </dia:attribute> <dia:attribute name="end_arrow"> <dia:enum val="22"/> </dia:attribute> <dia:attribute name="end_arrow_length"> <dia:real val="0.5"/> </dia:attribute> <dia:attribute name="end_arrow_width"> <dia:real val="0.5"/> </dia:attribute> </dia:object> Actual results: The complement of the arc is drawn Expected results: the actual arc should be drawn Does this happen every time? yes Other information:
Created attachment 50276 [details] A complete dia file to reproduce I've pasted your arc into a complete file to reproduce. In fact it looks as described after loading. *BUT* I am not able to degenerate the arc with current cvs - at least not with the GUI. Do you have edited the objects properties *outside* of Dia and the arc does not show as you expect it to?
Other steps: start dia 0.94+cvs select arc tool, draw an arc, reduce curvedistance by moving red handle towards the two other points, the arc should look almost like a straight line. Now move one of the green handles towards the other. At some point, the arc/line is not drawn anymore. Hit the left arrow to redraw. I attach a complete dia file to reproduce. Opening the file in dia 0.94+cvs then moving the lower green handle away from the other shows the bug in reverse.
Created attachment 50278 [details] simple file to demonstrate the bug
2006-01-02 Hans Breuer <hans@breuer.org> * lib/diarenderer.c(draw_arc_with_arrows) : don't recalculate center point and width from the (arrow-)corrected new points. Otherwise a whole new wrong arc may emerge. Fixes bug #312641.
Lars attempt to fix bug #312641 did break this one. No surprise because it was just removing the code added to fix this: http://cvs.gnome.org/viewcvs/dia/lib/diarenderer.c?r1=1.19&r2=1.20
Reflect state and passed milestone.
The 'fixed' one was bug #331372, obviously the reference to this bug in comment #5 is wrong. The respective SVN link is http://svn.gnome.org/viewvc/dia/trunk/lib/diarenderer.c?r1=3342&r2=3366 The issue remains ;(
Finally fixed by: http://git.gnome.org/browse/dia/commit/?id=cbad103412af069fb4c1ce8a540a5a9fe8488063