[wesnoth-commits] [wesnoth/wesnoth] 0c2298: config/cache: Ensure built-in symbols like WESNOTH...

GitHub noreply at github.com
Mon Jun 18 22:34:41 UTC 2018


  Branch: refs/heads/master
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 0c2298d8c2057344b9c94c9fe7ce848838b363e6
      https://github.com/wesnoth/wesnoth/commit/0c2298d8c2057344b9c94c9fe7ce848838b363e6
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2018-06-18 (Mon, 18 Jun 2018)

  Changed paths:
    M changelog.md
    M src/config_cache.cpp

  Log Message:
  -----------
  config/cache: Ensure built-in symbols like WESNOTH_VERSION are always defined

Half-fix for issue #1634 and issue #1924.

The issue that remains to be solved is that on subsequent sessions after
a campaign has failed to load, it is possible for the game to generate a
cache entry for it that only contains the main menu WML for it.
Apparently the config cache transactions mechanism causes the game to
try to generate a cache entry with the wrong defines (a define set that
doesn't include the campaign's symbol, for instance) instead of the ones
that are actually needed and used to match the cache entry's filename
via checksumming. As a result, on subsequent sessions the failed
campaign is aborted with "failed to load the scenario" instead of
displaying the real WML error again (since the error is not hit again if
it depends on the campaign's symbol being defined).

In the meantime, this at least removes the red herring error and makes
the underlying issue a bit more visible. It's a very crude hack but it
does the job.



      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the Commits mailing list