<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

Reply via email to