From a2205e903150d6be4ca971fbb71e95d1fbb81f58 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Mon, 11 Oct 2010 18:21:41 +1300 Subject: [PATCH] fix some dumb (nonfatal) crashes in the editor with nothing loaded --- OpenRA.Editor/Form1.Designer.cs | 1 - OpenRA.Editor/Form1.cs | 13 +++++++------ OpenRA.Editor/Surface.cs | 6 ++++++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/OpenRA.Editor/Form1.Designer.cs b/OpenRA.Editor/Form1.Designer.cs index 26a2b2143d..0db360242f 100644 --- a/OpenRA.Editor/Form1.Designer.cs +++ b/OpenRA.Editor/Form1.Designer.cs @@ -429,7 +429,6 @@ this.surface1.Size = new System.Drawing.Size(783, 727); this.surface1.TabIndex = 5; this.surface1.Text = "surface1"; - this.surface1.Click += new System.EventHandler(this.OnSurfaceClicked); // // saveFileDialog // diff --git a/OpenRA.Editor/Form1.cs b/OpenRA.Editor/Form1.cs index 8fbe12ec0e..7cab27959e 100644 --- a/OpenRA.Editor/Form1.cs +++ b/OpenRA.Editor/Form1.cs @@ -35,7 +35,13 @@ namespace OpenRA.Editor Rules.LoadRules(Game.modData.Manifest, new Map()); - surface1.AfterChange += MakeDirty; + surface1.AfterChange += OnMapChanged; + } + + void OnMapChanged() + { + MakeDirty(); + pmMiniMap.Image = Minimap.AddStaticResources(surface1.Map, Minimap.TerrainBitmap(surface1.Map, true)); } void MakeDirty() { dirty = true; } @@ -390,11 +396,6 @@ namespace OpenRA.Editor pb.Show(); } - private void OnSurfaceClicked(object sender, EventArgs e) - { - pmMiniMap.Image = Minimap.AddStaticResources(surface1.Map, Minimap.TerrainBitmap(surface1.Map, true)); - } - private void mnuMinimapToPNG_Click(object sender, EventArgs e) { try diff --git a/OpenRA.Editor/Surface.cs b/OpenRA.Editor/Surface.cs index 8abac5d5ee..6126a6f580 100755 --- a/OpenRA.Editor/Surface.cs +++ b/OpenRA.Editor/Surface.cs @@ -87,6 +87,8 @@ namespace OpenRA.Editor { base.OnMouseWheel(e); + if (Map == null) return; + Zoom *= e.Delta > 0 ? 4.0f / 3.0f : .75f; Invalidate(); @@ -114,6 +116,8 @@ namespace OpenRA.Editor { base.OnMouseMove(e); + if (Map == null) return; + var oldMousePos = MousePos; MousePos = new int2(e.Location); @@ -332,6 +336,8 @@ namespace OpenRA.Editor { base.OnMouseDown(e); + if (Map == null) return; + if (!IsPanning) { if (e.Button == MouseButtons.Right) Erase();