diff --git a/src/Gui/Gui.cs b/src/Gui/Gui.cs index 58e5871..0858fb7 100644 --- a/src/Gui/Gui.cs +++ b/src/Gui/Gui.cs @@ -89,15 +89,18 @@ namespace WorldOfPeacecraft public void PerformRefresh () { - ITile[,] map = Backend.GetMap(); - int mapWidth = (map.GetLength(0)) * tileSize; - int mapHeight = (map.GetLength(1)) * tileSize; - this.SuspendLayout(); - this.SetClientSizeCore(mapWidth, mapHeight); - Board.Size = new Size(mapWidth, mapHeight); - this.ResumeLayout(); - this.PerformLayout(); - this.Refresh(); + this.BeginInvoke(new MethodInvoker(delegate + { + ITile[,] map = Backend.GetMap(); + int mapWidth = (map.GetLength(0)) * tileSize; + int mapHeight = (map.GetLength(1)) * tileSize; + this.SuspendLayout(); + this.SetClientSizeCore(mapWidth, mapHeight); + Board.Size = new Size(mapWidth, mapHeight); + this.ResumeLayout(); + this.PerformLayout(); + this.Refresh(); + })); } [DllImport("kernel32.dll", SetLastError = true)]