Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2003:
[Freeciv-Dev] (PR#3521) Re: (PR#3601) Intelligence dialog empty
Home

[Freeciv-Dev] (PR#3521) Re: (PR#3601) Intelligence dialog empty

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: ChrisK@xxxxxxxx
Subject: [Freeciv-Dev] (PR#3521) Re: (PR#3601) Intelligence dialog empty
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Mon, 3 Mar 2003 16:58:17 -0800
Reply-to: rt@xxxxxxxxxxxxxx

On Mon, 3 Mar 2003, Per I. Mathisen wrote:
> For other players that are not connected (such as AIs), you do not get
> updated tech info in Intelligence dialog.
>
> The reason is obvious; the reason why this code was made the way it is, is
> much less so.

> -if (pplayer->is_connected) {
> -  read_player_info_techs(pplayer, pinfo->inventions);
> -}
> +read_player_info_techs(pplayer, pinfo->inventions);

Actually, the reason is because of Raimar's patch to #3476, which itself
was a problem created by another patch that introduced an overzealous
assert.

This fixes the symptom, and I think it can suffice for now:

Index: common/tech.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/common/tech.c,v
retrieving revision 1.58
diff -u -r1.58 tech.c
--- common/tech.c       2003/02/20 22:49:42     1.58
+++ common/tech.c       2003/03/04 00:54:35
@@ -164,7 +164,8 @@
   Tech_Type_id i;
   enum tech_flag_id flag;

-  assert(get_invention(pplayer, A_NONE) == TECH_KNOWN);
+  assert(!pplayer->is_connected
+         || get_invention(pplayer, A_NONE) == TECH_KNOWN);

   for (i = 0; i < game.num_tech_types; i++) {
     if (!tech_exists(i)) {

Please commit, as this bug is quite annoying.

  - Per




[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#3521) Re: (PR#3601) Intelligence dialog empty, Per I. Mathisen <=