In the same simple case, if three (or n) zigzags connected to the same connection point when you run the loop at line 723, because it modifies the connected_list 3 times at lines 736,740,744 for each zigzag, eventually the second (or (n-1)th) zigzag get skipped and again, (like the previous case) you have an object with a handle connected to a non existing object. I think the solution is to add an else before connected_list = g_list_next (connected_list); at line 744.
On Fri, May 10, 2019 at 7:57 PM Zander Brown <zbr...@gnome.org> wrote: > On Thu, 2019-05-09 at 22:28 +0430, Vahid Bashiri via dia-list wrote: > > consider following simple case > > where an object connected to a zigzagline at one end and the other end is > free. The zigzagline has two handles at each end, you can connect to, let > say handle[0] and handle[1]. > If handle[1] connected to object and handle[0] is free, if you select the > obj and press delete, the for loop starts with handle[0] and because > handle[0]->connected_to is NULL (its not connected) it will "break" > without checking handle[1]. Then program continues with > deleting obj and after deleting obj you'll have a zigzagline with > handle[1]->connected_to pointing to an object that doesn't exist anymore. > The solution is continue with other handles of an object and check all of > them which means a continue should be in place of break . > > > See said I'd probably misunderstood you! > > I'm *fairly* certain this shouldn't be an issue but I've fixed in on > master anyway, thanks for the contribution! > > _______________________________________________ > > dia-list mailing list > > dia-list@gnome.org > > > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.gnome.org%2Fmailman%2Flistinfo%2Fdia-list&data=02%7C01%7C%7Ca05741bd293e4ef82c4508d6d4a80008%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636930215347902675&sdata=ux9Rv6gr9tcf8dvKnePeeCn3l0ZSyJzN%2FpcseD971XI%3D&reserved=0 > > > FAQ at > > https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flive.gnome.org%2FDia%2FFaq&data=02%7C01%7C%7Ca05741bd293e4ef82c4508d6d4a80008%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636930215347912680&sdata=2vj0ytKCyNR6iWi%2BdApQLGxRplr1xjc1dQsXlhz2Mqk%3D&reserved=0 > > > Main page at > > https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flive.gnome.org%2FDia&data=02%7C01%7C%7Ca05741bd293e4ef82c4508d6d4a80008%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636930215347912680&sdata=iL9duDcz538u27gUozkQM9nJX0J0VKPGmEqo%2F6UWVCI%3D&reserved=0 > > > > -- > > Zander Brown <zbr...@gnome.org> > GNOME Design Tooling (Icon Preview) > Dia Diagram Editor > _______________________________________________ > dia-list mailing list > dia-list@gnome.org > https://mail.gnome.org/mailman/listinfo/dia-list > FAQ at http://live.gnome.org/Dia/Faq > Main page at http://live.gnome.org/Dia > >
_______________________________________________ dia-list mailing list dia-list@gnome.org https://mail.gnome.org/mailman/listinfo/dia-list FAQ at http://live.gnome.org/Dia/Faq Main page at http://live.gnome.org/Dia