Gábor Szots wrote:Could be but I have done that so many times that makes it practically impossible that this was the first time I did that, what is more, repeatedly.
However, I experience this behaviour only under my 64-bit Vista. On a 32-bit Windows 7 notebook everything is fine.
That is strange. WinBoard is distributed by me as a 32-bit application. Which presumably uses the infra-structure (DLLs) of the 32-bit run-time system. It coud be that we invoke a library function that is buggy on Vista, but not on Win 7.
It could also be that WinBoard is configured differently on the two machines, e.g. that the list of installed engines is different, and that on one it is causing problems (perhaps because it has become too long, and overflows some buffer).
Can you retrieve the winboard47.ini files from your AppData folder, and post the engine lists in them, so that I could use them for testing if this also makes my WinBoard crash? Ot just copy-past the entire list from the Edit Engine List dialog?
As for your idea of buttons, it might be convenient but editing the list is not a burden. Anyway, automatic sorting would be more elegant. Besides, clicking on a button several times doesn't seem to me much easier than moving an engine via editing.
Well, that was my original idea too, which is why I left the buttons out. The only disadvantage of editing is that people could damage existing lines, rather than just moving them around. But you also want to be able to do that intentionally, for adding options you forgot or regret adding on an earlier install. Yet it seems there are people who dislike editing as a matter of principle.
But perhaps it is indeed not worth it. I did think of a good system to do it, however: when moving a single engine up or down, it would simply be swapped with whatever was above/below it in the list (be it a single engine or a group). Only when it hits the top / bottom of the list for an opened group it would be moved out of the group, to the encompassing level. But when you would move a group down, it would 'eat' anything below it (be it single engine or other group). If you would move a group up, however, it would not do that, but simply swap with whatever was above it. This would then still allow you to swap two groups. Implementing all that would be a lot of work, though.