When the slider widget was added to ThemeWML, some work was not
done apparently to make it play nicely with regards to focus and
key events with the other theme wml widgets, causing it to retain
focus for keyboard events indefinitely. At the time this was
resolved by disabling these events, but this cripples the many
other sliders in the game. In this commit we introduce a subclass
zoom_slider which has this functionality disabled, and use that
for zoom sliders, so that we can get the desired functionality
back for the other sliders. See parent of this commit for more
info.
This commit causes sliders to attract focus properly when their
grips are clicked on, and to respond to left and right arrow
presses again. It partly reverts two earlier commits that
affected this functionality.
cf84e1d8aa49614599fa
It causes the zoom slider to behave slightly badly, because it
does not lose focus when the user clicks elsewhere on the map.
But this bug should be fixed at the source and not by disabling
wanted functionality for all sliders.
Conflicts:
src/widgets/slider.cpp
In 1.12, clients separate carryover information from scenario
information when they are proceeding in a campaign.
Since 1.11.1, a bug was introduced (apparently this commit: d7a35f90)
wherein the clients and host `retain` carryover information in
a separate object from the scenario config, and merge it into
whatever level they recieve from the server. In an mp game, this
means that carryover is applied twice, once by the host when he
uploads the new level, and once again by each of the clients
individually.
Clients in general should not be performing private tweaks to
scenario data, it's better if the host does as much as possible and
the server the rest. In this case, "client-side" carryover update is
wrong because it is not performed by the observers, who only have
the information that was sent to the server.
In this commit we remove the code that causes the non-host clients
to make local copies of this info, and check that the server also
discards its local info after it has uploaded the scenario to the
server.
This commit was tested both on LoW and on a custom test campaign,
see bug tracker for details.
While chapter 3 only skipped one track, leading to an off by one error,
the track of chapter 4 had to be fixed and the SAURIANS track for chapter
5 had to be made completely anew.
[skip ci]
This is intended to be used for applying string fixes for the website
repository without reading the full game string fixes table and avoiding
potential future collisions between both.
Also removed an obsolete entry from 1.10.
Needs to be reverted and replaced with real support for variation_id +
variation_name in wmllint (as well as the legacy
variation_name-as-variation_id behavior).