Follow-up Comment #1, bug #16846 (project freeciv):

Freeciv client crashes, because gui_dialog_alert function receives a NULL
pointer to the meeting dialog. This happens after any tech tree related
options are changed in the client (other options are unaffected), because
reqtree_show_icons_callback closes all dialogs (even though it should only
close the research dialog) and the meeting dialog happens to be in use.

I have attached a patch that adds an appropriate assertion in
gui_dialog_alert and fixes the behaviour of reqtree_show_icons_callback. I
didn't find a portable function that would close only some particular dialog,
so the callback no longer closes any of them.

Note that with this new behaviour, the research dialog might become distorted
after changing the tech tree settings (manually reopening it fixes this). But
if the callback is unchanged, the player can no longer access the meeting
screen after it has been closed like this, unless that meeting is canceled
and a new meeting is started. If both players lock themselves out in this
way, they won't be able to interact diplomatically for the rest of the game,
which is a more serious problem than a graphical glitch.

I also took the liberty of making some of the indentation consistent with the
current style.

(file #11131)
    _______________________________________________________

Additional Item Attachment:

File name:
20101106-trunk-client-crashes-when-techtree-settings-are-changed-in-meeting.diff
Size:1 KB


    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?16846>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to