Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2001:
[Freeciv-Dev] Re: grid causes assertion failure (PR#919)
Home

[Freeciv-Dev] Re: grid causes assertion failure (PR#919)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Ross W. Wetmore" <rwetmore@xxxxxxxxxxxx>
Cc: jjm@xxxxxxxxxxxx, freeciv-dev@xxxxxxxxxxx, bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: grid causes assertion failure (PR#919)
From: Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 30 Aug 2001 08:08:43 +0200
Reply-to: rf13@xxxxxxxxxxxxxxxxxxxxxx

On Wed, Aug 29, 2001 at 08:47:32PM -0400, Ross W. Wetmore wrote:
> At 10:20 AM 01/08/29 +0200, Raimar Falke wrote:
> >On Tue, Aug 28, 2001 at 05:06:25PM -0700, jjm@xxxxxxxxxxxx wrote:
> >> Full_Name: Jeff Mallatt
> >> Version: CVS 2001-08-28
> >> Distribution: Built from source
> >> Client: Both (or N/A)
> >> OS: Linux RedHat 7.1
> >> Submission from: (NULL) (206.40.164.244)
> >> 
> >> 
> >> Trying to turn on the Grid in either client causes the following
> >> assertion failure:
> >> 
> >> civclient: climisc.c:490: get_grid_color:
> >>    Assertion `is_tiles_adjacent(x1, y1, x2, y2)' failed.
> >> Aborted (core dumped)
> >> 
> >> This does not happen all the time.  Though I haven't proven this, I
> >> believe it may only happen when the grid being displayed intersects
> >> the 0/max X boundary.
> >
> >Known. It is on my todo list "- get_grid_color and normalized coord
> >(BUG)" and simple but I haven't found the time yet.
> >
> >     Raimar
> >
> >-- 
> > email: rf13@xxxxxxxxxxxxxxxxx
> > "I haven't lost my mind - it's backed up on tape somewhere."
> 
> If the coordinates are not normalized, probably because an abs_x0+1
> is being passed in, the adjacent will fail over the WRAP_X wall.
> 
> Adding normalization to this function should make this go away.
> 
> Tracking down all the places that call the above and forcing them 
> to normalize first is the other option, but this is something that 
> should probably be done as part of a larger effort and not a series 
> of bug responses. Freeciv code really doesn't treat passed arguments
> as normalized, and thus the short term fix is to test at the lowest
> level.

I fixed it but during the fix allowed explicitly un-real position to
be passed to get_worker_on_map_position. BAD BAD BAD

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "USENET is *not* the non-clickable part of WWW!"


[Prev in Thread] Current Thread [Next in Thread]