Follow-up Comment #8, patch #3826 (project freeciv):
Hrm? maphand.c:destroy_base() unconditionally calls tile_remove_base() as the
last operation. On the server, fc_funcs->destroy_base is set to
maphand.c:destroy_base(), and on the client, fc_funcs->destroy_base is set to
NULL. I don't see any other callers. Even in the event that
fc_funcs->destroy_base fails to remove it, shouldn't tile_change_terrain()
either double-check by calling tile_remove_base within the conditional or
dropping the else clause and calling it unconditionally, rather than somewhere
between these options?
I had thought that there might be some difference in the application of
fc_funcs related to the nature of the build (like fc_assert), which might
cause the entire conditional to be meaningless, but if it is just caller
tracking, I suspect this is a bug (although one with very little impact, as
BV_CLR() is safe to call repeatedly without unexpected behaviour).
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list