because they are nowadays displayed in the help.
Also keep them sorted the same way as usual.
[ci skip]
(cherry-picked from commit 2e8f6c2a799331c1a1a98a9ee478d40e51e34268)
This solution is a bit of a hack, but odds are this code will be
majorly refactored in 1.15 anyway. The important thing is that
this works.
(cherry-picked from commit 8e4de9db67f533e98cd11235567b95a03cb9889a)
The intent behind this is that, if there most likely wouldn't be enough time left to complete the unit tests anyway, then just fail the job after compiling so the cache can be updated. Otherwise, if the unit tests were run and the job timed out, then the cache would not be uploaded at all and the next time the job ran it would be from scratch again.
(cherry-picked from commit 5d970e40cd43a23a8d1b8198e962f198fc9282b0)
Note: UBSan at least does seem to take a fairly significant amount of extra time to compile and run the WML tests with.
(cherry-picked from commit 92f74c39f6aedc10bd04f1cf6dc9144fb35e3a19)
[[noreturn]] is supported on all the compilers we support. Still need to decide
the exact minimum versions and figure out what to do with DEPRECATED and FALLTHROUGH,
so leaving those for now.
And since we require VS 2015 and up we can enable C99 unconditionally.
(cherry-picked from commit 96681151f083bb25a3ddb3301083241e36fd6789)
This is no longer needed with the compilers we support. It is needed on VS 2013, but
we dropped that. Don't know when GCC or Clang stopped needed it (if they ever did).
I'm guessing the "function that returns a value cannot be bound in a function type
that returns void" behavior wasn't an intentional design. Additionally, I don't believe
point 1 raised in the accompanying comment has ever been true... if so, pretty sure
we wouldn't have been able to build at all.
Also removed unnecessary global.hpp include from functional.hpp.
(cherry-picked from commit 17fc9d71dbd933fa2e37c8fd9aed52a4e2fb5735)
Locale doesn't rely on boost, so it must have been some other issue in Boost 1.60
that was incidentally fixed by including that file. If anyone ever happens to build
with 1.60 again we can revisit this.
For the record, there are no issues with VS 2017 and Boost 1.66.
(cherry-picked from commit 7cf93413797c73e6ca33e22a615897ffbec42cdb)
It was broken by b95c9996bf435daa4d7e64fd1ef41425ac182b95 because
ignoring SIGCHLD makes it impossible to query exit status of wesnothd
subprocess. Fix this by spawning a thread to wait for the browser
instead of ignoring SIGCHLD.
(cherry-picked from commit 846bf8f208ae41381e133e96b24e6b9876ea2a01)
I originally did this in 699047766a8852014df20c44d5ed84dadb37015e and then reverted it in
08a866dc20e678602f65f0cdedb21fb28a0bfa8c due to @gfgtdf pointing out the object was never
actually destroyed since io_service::stop was never called (issue #1927).
This new method foregoes the custom wrapper class and instead waits for the worker thread
to terminate in the wesnothd_connection dtor. The use of the wrapper class is also why using
thread::detach alone worked (@jyrkive) and using join did not.
Additionally, the ptr alias is now of a unique_ptr instead of a shared_ptr.
I have verified that the connection dtor is actually called. This new method makes it clearer
what's actually going on.
(cherry-picked from commit acc3fe890611b54c8493acafc33f1e78832b65dc)
We use both SDL_KEYDOWN and SDL_TEXTINPUT events for hotkeys. It's possible
for both events (caused by the same keypress) to trigger the hotkey command
and we don't want that. Hence, let's drop duplicate commands.
Fixes#1736.
(cherry-picked from commit 8667e5bbdd3d2a92e966a15f12a3753b9e3c283f)