[Freeciv-Dev] (PR#3380) Popup city button for captured city causes crash
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
[guest - Tue Feb 11 04:13:30 2003]:
> If one of your cities is captured, and you select the "... conquered ...
> and looted ..." in the message box, then press the Popup City button,
> you'll get something like:
> civclient: citydlg_common.c:319: get_city_citizen_types: Assertion `i ==
> pcity->size' failed.
> Aborted (core dumped)
> Feb 7 cvs, gtk2 client on Red Hat 8. Savegame attached; join as kenn.
Obviously the problem is that you don't know anything about the citizens
of this city. So although you know that pcity->size == 2 (or whatever),
the values for happy/content/unhappy citizens are all 0.
What should the behavior here be?
I see two options:
1. The city dialog does popup; no citizens (or better: an unknown
citizen graphic, which we don't have) are displayed.
2. The city dialog does not popup.
Note that freeciv 1.14 is no help here; in the release the dialog will
popup and bogus citizens will be displayed (not sure why; maybe we can
fix that too).
My preferene would be for #2. A one-line change to messagewin_common.c
prevents non-owned cities from popping up. But this is probably wrong:
what about allied cities, or enemy cities we have spy information on?
Is there a function is_city_information_known()? Can one be written?
In the longer term, the GUI code should disable the popup-city button in