News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

[BUG] Display setting option inconsistencies sometime cause the game to freeze

Started by RESTRICTED ACCOUNT, May 08, 2020, 12:26:36 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

RESTRICTED ACCOUNT

Hi there. (´・ω・`)


I have noticed that the behavior of two option's display settings is broken.
Smart hide object is assigned to the ";" key in pak.Britain-EX. It conflicts with the "Inverse graphs" button, and clicking this button sometimes causes the game to freeze. (´・ω・`)


Confirmation method:

1) Open the Display Options and Finance dialogs. You can open them with the "y" and "f" keys.
2) Show some finance chart lines so you can see the orientation of the graph.
3) Click the "Inverse graphs" checkbox several times and make sure it is working.
4) Click the "Smart hide objects" checkbox several times and make sure it is working.
5) Press the ";" key several times to check the change in the checkbox in the display settings options.
6) While pressing the ";" key many times, left-click the inverse graph and smart hide objects button to repeatedly press it.

In 6) the game sometimes freezes. This isn't guaranteed to happen, but it freezes several times when I was checking this behavior.



Freeze reproduction procedure #2:
This freezes when hovering the field with the mouse cursor, not immediately after clicking the checkbox.

1) Load this saved game
2) Press "y" key to open the display setting
3) Click the "Smart hide objects" checkbox only one time.
4) Hit the ";" key repeatedly while moving the mouse cursor around the field full of screens.

If you can't reproduce the freeze, try expanding the hide area or clicking "Smart hide objects" again.
Maybe when it causes a freeze it's when the checkbox is unmarked.



This seems to come from this commit(12 Jun 2019).


Anyway I think I fixed this bug. A pull request is here.
I'm not sure why that is causing the freeze, but it seems that the freeze does not happen as a result of the fixing of the button behavior. Please check carefully. It's often caused in fields, but is it related to being unable to hide fields?

EDIT:
Note: The "field" here means the tile attached to the factory.

jamespetts

Thank you for this - this was incorporated a day or two ago. This is most helpful.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.