While working around the lack of a boolean functionality I stumbled upon and issue that can in the best, block saves, and in the worst destroys an earlier save file.
To reproduce:
Create a cube.
*
Select one face
Execute 'Hole' command.
Select the 4 edges of the hole
Execute 'Collapse' command.
Attempt to save.
In this case it just refused to save and gave a wings.dump file. If instead you save an initial version (at the *) and continue through the remaining steps then attempt to save again it gives a different message (suggesting a crash in a hot key, even when choosing menu option) AND will destroy the earlier version of the file saved.
The wings.dump in the no original file case:
Dump written 2017-3-7_9-25
Version: 2.1.5
Window: geom
Reason: function_clause
Short stack trace:
[]
Long stack trace:
[{gb_trees,get_1,[-13,nil],[{file,"gb_trees.erl"},{line,243}]},
{wings_we,'-do_renumber/3-lc$^0/1-0-',2,[{file,"wings_we.erl"},{line,678}]},
{wings_we,do_renumber,3,[{file,"wings_we.erl"},{line,678}]},
{wings_we,renumber,3,[{file,"wings_we.erl"},{line,269}]},
{wings_ff_wings,renumber,5,[{file,"wings_ff_wings.erl"},{line,1309}]},
{wings_ff_wings,export,2,[{file,"wings_ff_wings.erl"},{line,1251}]},
{wings_file,save_now,2,[{file,"wings_file.erl"},{line,430}]},
{wings_develop,time_command,2,[{file,"wings_develop.erl"},{line,73}]},
{wings,raw_command,4,[{file,"wings.erl"},{line,621}]},
{wings_wm,handle_event,3,[{file,"wings_wm.erl"},{line,952}]},
{wings_wm,send_event,2,[{file,"wings_wm.erl"},{line,918}]},
{wings_wm,do_dispatch,2,[{file,"wings_wm.erl"},{line,824}]},
{wings_wm,dispatch_event,1,[{file,"wings_wm.erl"},{line,725}]},
{wings_wm,get_and_dispatch,0,[{file,"wings_wm.erl"},{line,646}]},
{wings,init,1,[{file,"wings.erl"},{line,147}]}]
The terminal log in the previous file case:
wings:650: Error: function_clause [{gb_trees,get_1,
[-149,nil],
[{file,"gb_trees.erl"},{line,243}]},
{wings_we,'-do_renumber/3-lc$^0/1-0-',2,
[{file,"wings_we.erl"},{line,678}]},
{wings_we,do_renumber,3,
[{file,"wings_we.erl"},{line,678}]},
{wings_we,do_renumber,2,
[{file,"wings_we.erl"},{line,643}]},
{wings_we,renumber,2,
[{file,"wings_we.erl"},{line,258}]},
{wings_ff_wings,renumber,5,
[{file,"wings_ff_wings.erl"},
{line,1314}]},
{wings_ff_wings,export,2,
[{file,"wings_ff_wings.erl"},
{line,1251}]},
{wings_file,save_now,2,
[{file,"wings_file.erl"},{line,430}]},
{wings,execute_command,3,
[{file,"wings.erl"},{line,647}]},
{wings_develop,time_command,2,
[{file,"wings_develop.erl"},{line,73}]},
{wings,raw_command,4,
[{file,"wings.erl"},{line,621}]},
{wings_wm,handle_event,3,
[{file,"wings_wm.erl"},{line,952}]},
{wings_wm,send_event,2,
[{file,"wings_wm.erl"},{line,918}]},
{wings_wm,do_dispatch,2,
[{file,"wings_wm.erl"},{line,824}]},
{wings_wm,get_and_dispatch,0,
[{file,"wings_wm.erl"},{line,646}]},
{wings,init,1,
[{file,"wings.erl"},{line,147}]}]
I am using Wings 3D 2.1.5 on Ubuntu 16.04.
To reproduce:
Create a cube.
*
Select one face
Execute 'Hole' command.
Select the 4 edges of the hole
Execute 'Collapse' command.
Attempt to save.
In this case it just refused to save and gave a wings.dump file. If instead you save an initial version (at the *) and continue through the remaining steps then attempt to save again it gives a different message (suggesting a crash in a hot key, even when choosing menu option) AND will destroy the earlier version of the file saved.
The wings.dump in the no original file case:
Dump written 2017-3-7_9-25
Version: 2.1.5
Window: geom
Reason: function_clause
Short stack trace:
[]
Long stack trace:
[{gb_trees,get_1,[-13,nil],[{file,"gb_trees.erl"},{line,243}]},
{wings_we,'-do_renumber/3-lc$^0/1-0-',2,[{file,"wings_we.erl"},{line,678}]},
{wings_we,do_renumber,3,[{file,"wings_we.erl"},{line,678}]},
{wings_we,renumber,3,[{file,"wings_we.erl"},{line,269}]},
{wings_ff_wings,renumber,5,[{file,"wings_ff_wings.erl"},{line,1309}]},
{wings_ff_wings,export,2,[{file,"wings_ff_wings.erl"},{line,1251}]},
{wings_file,save_now,2,[{file,"wings_file.erl"},{line,430}]},
{wings_develop,time_command,2,[{file,"wings_develop.erl"},{line,73}]},
{wings,raw_command,4,[{file,"wings.erl"},{line,621}]},
{wings_wm,handle_event,3,[{file,"wings_wm.erl"},{line,952}]},
{wings_wm,send_event,2,[{file,"wings_wm.erl"},{line,918}]},
{wings_wm,do_dispatch,2,[{file,"wings_wm.erl"},{line,824}]},
{wings_wm,dispatch_event,1,[{file,"wings_wm.erl"},{line,725}]},
{wings_wm,get_and_dispatch,0,[{file,"wings_wm.erl"},{line,646}]},
{wings,init,1,[{file,"wings.erl"},{line,147}]}]
The terminal log in the previous file case:
wings:650: Error: function_clause [{gb_trees,get_1,
[-149,nil],
[{file,"gb_trees.erl"},{line,243}]},
{wings_we,'-do_renumber/3-lc$^0/1-0-',2,
[{file,"wings_we.erl"},{line,678}]},
{wings_we,do_renumber,3,
[{file,"wings_we.erl"},{line,678}]},
{wings_we,do_renumber,2,
[{file,"wings_we.erl"},{line,643}]},
{wings_we,renumber,2,
[{file,"wings_we.erl"},{line,258}]},
{wings_ff_wings,renumber,5,
[{file,"wings_ff_wings.erl"},
{line,1314}]},
{wings_ff_wings,export,2,
[{file,"wings_ff_wings.erl"},
{line,1251}]},
{wings_file,save_now,2,
[{file,"wings_file.erl"},{line,430}]},
{wings,execute_command,3,
[{file,"wings.erl"},{line,647}]},
{wings_develop,time_command,2,
[{file,"wings_develop.erl"},{line,73}]},
{wings,raw_command,4,
[{file,"wings.erl"},{line,621}]},
{wings_wm,handle_event,3,
[{file,"wings_wm.erl"},{line,952}]},
{wings_wm,send_event,2,
[{file,"wings_wm.erl"},{line,918}]},
{wings_wm,do_dispatch,2,
[{file,"wings_wm.erl"},{line,824}]},
{wings_wm,get_and_dispatch,0,
[{file,"wings_wm.erl"},{line,646}]},
{wings,init,1,
[{file,"wings.erl"},{line,147}]}]
I am using Wings 3D 2.1.5 on Ubuntu 16.04.