<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
[email protected]
https://mail.gna.org/listinfo/freeciv-dev