Build 3375 bug : zoom in/out

Hello,

Bug: Vassal Play/Edit get stuck when you try to zoom in or out
How to reproduce:

  • Open Vassal and edit or play any module you wish
  • Once module is opened, try to zoom in or out
    => Vassal is stuck and if you move windows around, they don’t get updated

Interesting :

  • Close the main VASSAL window while keeping your module open and now the zoom in/out works fine…

Noticed this also in 3373

Thus spake “Aradiel”:

I can’t replicate this.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Ok then I shall try with previous builds. I hope I still have them on my other computer as you cleaned your build folder lately.

Maybe it’s specific to MS Windows. I have 2 PC using windows XP SP2 and one with Vista Pro 64bits. I’ll let you know if all of them show the same problem with differents .MOD

I have just noticed this too.
Changing zoom causes a module to hang bigtime to point of my actually quitting the app altogether. This was not a case previously.
Tested on 3 mods
CC
TS
Kremlin

It is as Aradiel says - closing the module manager fixes it strangely.
Using 3383 and XPPro64

Thus spake “Tim M”:

This is fixed in 3388. Thanks for reporting the problem.

nomic.net/~uckelman/tmp/vassal/

The problem was that the Module Manager was spawning child processes
without reading from its children’s stdout and stderr streams. On
Windows systems, these streams have very small buffers and right now
there’s a lot of diagnostic output which is printed to stdout, some
of which is triggered by zooming. When you tried to zoom, the buffer
for the Player’s stdout filled up, which caused the Player to block
until the buffer was emptied. But since the Manager wasn’t reading
the Player’s stdout, the only way for the buffer to empty was for
the Player’s stdout to be closed—which is what happend when you
exited from the Module Manager.

The reason I wasn’t seeing this on Linux is that stdout has a much
larger buffer (8KB, I think) on Linux than on Windows.

The solution was to start a thread in the Module Manager which pumps
the child’s stdout (stderr) to the Module Manager’s stdout (stderr).


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)