From b51d0f0bbb0cb8f25c389e574009b11c90fbac02 Mon Sep 17 00:00:00 2001
From: mr-russ <>
Date: Fri, 7 Feb 2003 10:02:57 +0000
Subject: [PATCH] Fixed Bug #438896: Platform destroyed in fog of war Fixed Bug
 #676724: Buildings Not Updated Until seen in viewport

---
 src/action/action_build.cpp    | 2 ++
 src/action/action_die.cpp      | 2 ++
 src/action/action_minegold.cpp | 3 ++-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/action/action_build.cpp b/src/action/action_build.cpp
index daf712d27..ff3cd0f97 100644
--- a/src/action/action_build.cpp
+++ b/src/action/action_build.cpp
@@ -256,6 +256,7 @@ global void HandleActionBuild(Unit* unit)
     unit->Y=y;
     unit->Orders[0].Action=UnitActionStill;
     unit->SubAction=0;
+    UnitMarkSeen(unit);
 }
 
 /**
@@ -397,6 +398,7 @@ global void HandleActionBuilded(Unit* unit)
 	    } else {
 		unit->Frame=i;
 	    }
+	    UnitMarkSeen(unit);
 	    break;
 	}
     }
diff --git a/src/action/action_die.cpp b/src/action/action_die.cpp
index 7d24bc397..24bd022e4 100644
--- a/src/action/action_die.cpp
+++ b/src/action/action_die.cpp
@@ -67,6 +67,7 @@ global void HandleActionDie(Unit* unit)
 	DebugLevel3("Die complete %d\n" _C_ UnitNumber(unit));
 
 	if( !unit->Type->CorpseType ) {
+	    UnitMarkSeen(unit);
 	    ReleaseUnit(unit);
 	    return;
 	}
@@ -96,6 +97,7 @@ global void HandleActionDie(Unit* unit)
 	// FIXME: perhaps later or never is better
 	//ChangeUnitOwner(unit,unit->Player,&Players[PlayerNumNeutral]);
     }
+    UnitMarkSeen(unit);
 }
 
 //@}
diff --git a/src/action/action_minegold.cpp b/src/action/action_minegold.cpp
index 68ee4dd3a..cfbdb1cac 100644
--- a/src/action/action_minegold.cpp
+++ b/src/action/action_minegold.cpp
@@ -141,7 +141,7 @@ local int MoveToGoldMine(Unit* unit)
 	destu->Frame=1;			// FIXME: should be configurable
 	CheckUnitToBeDrawn(destu);
     }
-
+    UnitMarkSeen(destu);
     RemoveUnit(unit,destu);
 
 #if 0
@@ -225,6 +225,7 @@ local int MineInGoldmine(Unit* unit)
 	    mine->Frame=0;
 	    CheckUnitToBeDrawn(mine);
 	}
+	UnitMarkSeen(mine);
 	if( IsOnlySelected(mine) ) {
 	    MustRedraw|=RedrawInfoPanel;
 	}