Follow-up Comment #5, patch #5760 (project freeciv):

>> How it can be disabled if its single player game and turn done was not
pressed ?
It's also disabled when agents are busy. From mapctrl_common.c:512 in trunk:

/**************************************************************************
 Return TRUE iff the turn done button should be enabled.
**************************************************************************/
bool get_turn_done_button_state(void)
{
  return (can_client_issue_orders()
          && !client.conn.playing->ai_controlled
          && !client.conn.playing->phase_done
          && !agents_busy());
}

The only function changing the button state is doing this
(mapctrl_common.c:616):

/**************************************************************************
 Update the turn done button state.
**************************************************************************/
void update_turn_done_button_state(void)
{
  bool turn_done_state = get_turn_done_button_state();
  set_turn_done_button_state(turn_done_state);
...


If the old code had forced a redraw in mapctrl.cpp:65, ie

/**************************************************************************
  A turn done button should be provided for the player.  This function
  is called to toggle it between active/inactive.
**************************************************************************/
void set_turn_done_button_state(bool state)
{
  gui()->game_info_label->end_turn_button = state;
  gui()->game_info_label->repaint(); // <- this wasn't present
}

Then the button would have disappeared when changing tax rates. Else, Qt gets
no chance of repainting the widget before the transition is complete (because
we're blocking the event loop). QPushButton redraws itself when setEnabled is
called.

>> or, it seems - it does but only with research dialog opened, but with patch
if crashes always.
>> I tested and it crashes also on gtk2 client.
Thus my patch + your savegame may together expose a problem elsewhere laying
elsewhere in the code. Please try with a new game (I wasn't able to reproduce
it that way).


    _______________________________________________________

Reply to this item at:

  <http://gna.org/patch/?5760>

_______________________________________________
  Message posté via/par Gna!
  http://gna.org/


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

Reply via email to