Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for 1.11.2 release #9160

merged 55 commits into from
May 3, 2021


Copy link

@LordAro LordAro commented May 1, 2021

Motivation / Problem

Keep getting reports for OGL related crashes


Backported almost everything that's been merged as of 13:25UTC 02/05
A few needed manual work to backport. Network stuff is getting tricky to untangle :)


Still waiting on a few PRs

Checklist for review

Some things are not automated, and forgotten often. This list is a reminder for the reviewers.

  • The bug fix is important enough to be backported? (label: 'backport requested')
  • This PR affects the save game format? (label 'savegame upgrade')
  • This PR affects the GS/AI API? (label 'needs review: Script API')
    • ai_changelog.hpp, gs_changelog.hpp need updating.
    • The compatibility wrappers (compat_*.nut) need updating.
  • This PR affects the NewGRF API? (label 'needs review: NewGRF')

@LordAro LordAro force-pushed the release-1112 branch 4 times, most recently from a1dcf9c to f54466b Compare May 2, 2021 13:27
CMakeLists.txt Outdated Show resolved Hide resolved
glx22 and others added 24 commits May 2, 2021 14:45

Minigraphs did not adjust size to accomodate large text, either by font size or font zoom, leading to cropped labels.
Minigraphs and spacing are now scaled by font zoom, as this seems to behave better than gui zoom in this instance.

In case a character was encoded in multiple bytes, but required fewer bytes to be encoded, the first byte would be copied to the output leaving an invalid Utf8 encoded string. Later uses of the validated string would use the same decode logic, which would yield a question mark and just read a single byte, so nothing dangerous happened.
Furthermore, because the next byte would not be a first byte of an encoded Utf8 character, the last few valid characters could be removed by the validation as well.
…rded. (OpenTTD#9098)

NewGRF spec says that base payment rate is 32 bits, but it was loaded into a 16 bit variable. This value is loaded into Money variable after inflation is applied.

This allows the details panel to scale correctly for different zoom levels.
…nItem. (OpenTTD#9133)

This happens if the bounding dimensions are changed so that each item is the same size, as happens on the railtype/roadtype dropdown lists, as the vertical offset was calculated before this dimension is changed.
YAPF was constantly measuring its performance, but only at
certain debug-levels this information was shown.

Now after years, I sincerely wonder if anyone still knows about this
feature and who still use it. Especially with the new framerate window,
this detailed performance is not as meaningful anymore as it once
rubidium42 and others added 7 commits May 2, 2021 14:45

If a viewport sign straddles the top of a viewport, a crash will occur if the viewport height is zero. This is resolved by simply not attempting to draw the viewport in this situation, consistent with other widgets.
…ing password

Under normal circumstances the server's ID is 32 characters excluding '\0', however this can be changed at the server. This ID is sent to the server for company name hashing. The client reads it into a statically allocated buffer of 33 bytes, but fills only the bytes it received from the server. However, the hash assumes all 33 bytes are set, thus potentially reading uninitialized data, or a part of the server ID of a previous game in the hashing routine.
It is still reading from memory assigned to the server ID, so nothing bad happens, except that company passwords might not work correctly.
… squared-euclidian distance to 16 bit, when they should not.
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Show resolved Hide resolved
@LordAro LordAro marked this pull request as ready for review May 2, 2021 18:18
Copy link

PeterN commented May 3, 2021

Please include #9183 and #9182

JGRennison and others added 5 commits May 3, 2021 16:41
Query window was not marked dirty after being moved on init. It was then marked dirty once the white border flash completed.
…ong (OpenTTD#9181)

In FluidSynth 2.2.0 an extra state was added to denote stopping. To transition
from this state to a stopped state the rendering needs to be running. Since
04ce1f0 locking was added that skipped the rendering when something else held
a lock, so the state would never get to stopped and join would never return.
@LordAro LordAro force-pushed the release-1112 branch 2 times, most recently from 1feaa91 to ee5e5e8 Compare May 3, 2021 15:59
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
changelog.txt Outdated Show resolved Hide resolved
Copy link

Did some smoke-testing, all seems to work fine.

I also tested if our addition to the network protocol works as expected, and it does: master clients can query 1.11.2 servers via TCP while 1.11.2 clients still do it over UDP; both work as expected.

So as far as I can tell, all your backporting efforts are a success :) \o/

@LordAro LordAro merged commit 672f285 into OpenTTD:release/1.11 May 3, 2021
@LordAro LordAro deleted the release-1112 branch May 3, 2021 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

None yet

9 participants