<URL: http://bugs.freeciv.org/Ticket/Display.html?id=29557 >
> [dmarks - Di 19. Dez 2006, 03:15:32]: > > One more graphics bug: The wrong building icon is sometimes shown in > the science dialog. See attached screen. > Patch attached.
Index: client/gui-sdl/repodlgs.c =================================================================== --- client/gui-sdl/repodlgs.c (Revision 12428) +++ client/gui-sdl/repodlgs.c (Arbeitskopie) @@ -2351,7 +2351,7 @@ pImpr = get_improvement_type(imp); requirement_vector_iterate(&pImpr->reqs, preq) { - if (preq->source.value.tech == tech_id) { + if ((preq->source.type == REQ_TECH) && (preq->source.value.tech == tech_id)) { pTmp2 = get_building_surface(imp); Surf_Array[w++] = ZoomSurface(pTmp2, DEFAULT_ZOOM * ((float)36 / pTmp2->w), DEFAULT_ZOOM * ((float)36 / pTmp2->w), 1); } @@ -2598,7 +2598,7 @@ pImpr = get_improvement_type(imp); requirement_vector_iterate(&pImpr->reqs, preq) { - if (preq->source.value.tech == get_player_research(game.player_ptr)->researching) { + if ((preq->source.type == REQ_TECH) && (preq->source.value.tech == get_player_research(game.player_ptr)->researching)) { pSurf = adj_surf(get_building_surface(imp)); alphablit(pSurf, NULL, pWindow->dst->surface, &dest); dest.x += pSurf->w + 1; @@ -2675,7 +2675,7 @@ impr_type_iterate(imp) { pImpr = get_improvement_type(imp); requirement_vector_iterate(&pImpr->reqs, preq) { - if (preq->source.value.tech == get_player_research(game.player_ptr)->tech_goal) { + if ((preq->source.type == REQ_TECH) && (preq->source.value.tech == get_player_research(game.player_ptr)->tech_goal)) { pSurf = adj_surf(get_building_surface(imp)); alphablit(pSurf, NULL, pWindow->dst->surface, &dest); dest.x += pSurf->w + 1; Index: client/gui-sdl/helpdlg.c =================================================================== --- client/gui-sdl/helpdlg.c (Revision 12428) +++ client/gui-sdl/helpdlg.c (Arbeitskopie) @@ -1099,7 +1099,7 @@ * Currently it's limited to 1 req. Remember MAX_NUM_REQS is a compile-time * definition. */ requirement_vector_iterate(&(get_improvement_type(imp)->reqs), preq) { - if (preq->source.value.tech == tech) { + if ((preq->source.type == REQ_TECH) && (preq->source.value.tech == tech)) { pSurf = get_building_surface(imp); pBuf = create_iconlabel_from_chars( ZoomSurface(pSurf, DEFAULT_ZOOM * ((float)36 / pSurf->w), DEFAULT_ZOOM * ((float)36 / pSurf->w), 1),
_______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev