The bug is not fixed yet.
I can reproduce a memory leak when doing the bug:
Direct leak of 16 byte(s) in 2 object(s) allocated from:
#0 0x7f56d5492ba9 in __interceptor_calloc (/lib64/libasan.so.2+0x98ba9)
#1 0x4580c2 in dynarray_init /home/matthias/vcs/git/freedroid/src/dynarray.c:37
#2 0x5a7c85 in add_waypoint /home/matthias/vcs/git/freedroid/src/waypoint.c:55
#3 0x5db60f in do_waypoint_route lvledit/lvledit_tool_place.c:87
#4 0x5dbc80 in leveleditor_place_input lvledit/lvledit_tool_place.c:712
#5 0x608f2a in forward_event lvledit/lvledit_widget_map.c:53
#6 0x608f2a in map_handle_event lvledit/lvledit_widget_map.c:94
#7 0x6384bb in group_mouse_event widgets/widget_group.c:89
#8 0x6384bb in widget_group_handle_event widgets/widget_group.c:183
#9 0x632fda in handle_widget_event widgets/widgets.c:281
#10 0x4b364a in input_handle /home/matthias/vcs/git/freedroid/src/input.c:135
#11 0x5cba2d in leveleditor_process_input lvledit/lvledit_input.c:186
#12 0x5af9ec in LevelEditor lvledit/lvledit.c:282
#13 0x4199e4 in main /home/matthias/vcs/git/freedroid/src/main.c:183
#14 0x7f56d2e2757f in __libc_start_main (/lib64/libc.so.6+0x2057f)
shorter recipe:
1) plant WP1 via RMB, get rid of connection via LMB
2) plant WP2, when you got the connection on your cursor now, press "z"
removing the originating waypoint (you will still have the connection on your
cursor)
3) link connection to WP1
4) LMB to get rid of the new connection originating from WP1
If you save that and load it, the game will hang |