mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-02-16 17:11:28 +00:00
no crash when basic modes plugin could not be found (this allows a third party to completely remove all basic modes and make their own without having to edit the core)
This commit is contained in:
parent
606983deb6
commit
3d3c4815d7
3 changed files with 28 additions and 12 deletions
|
@ -585,6 +585,7 @@ namespace CodeImp.DoomBuilder
|
|||
}
|
||||
|
||||
// All done
|
||||
mainwindow.RedrawDisplay();
|
||||
mainwindow.UpdateInterface();
|
||||
mainwindow.DisplayReady();
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
@ -613,6 +614,7 @@ namespace CodeImp.DoomBuilder
|
|||
|
||||
// Done
|
||||
Cursor.Current = Cursors.Default;
|
||||
mainwindow.RedrawDisplay();
|
||||
mainwindow.UpdateInterface();
|
||||
mainwindow.DisplayReady();
|
||||
General.WriteLogLine("Map unload done");
|
||||
|
@ -683,6 +685,7 @@ namespace CodeImp.DoomBuilder
|
|||
}
|
||||
|
||||
// All done
|
||||
mainwindow.RedrawDisplay();
|
||||
mainwindow.UpdateInterface();
|
||||
mainwindow.DisplayReady();
|
||||
Cursor.Current = Cursors.Default;
|
||||
|
|
|
@ -315,7 +315,7 @@ namespace CodeImp.DoomBuilder
|
|||
ChangeMode("VerticesMode");
|
||||
|
||||
// Center map in screen
|
||||
(General.Map.Mode as ClassicMode).CenterInScreen();
|
||||
if(General.Map.Mode is ClassicMode) (General.Map.Mode as ClassicMode).CenterInScreen();
|
||||
|
||||
// Success
|
||||
General.WriteLogLine("Map loading done");
|
||||
|
|
|
@ -604,13 +604,26 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
{
|
||||
General.Map.Mode.RedrawDisplay();
|
||||
}
|
||||
//display.Invalidate();
|
||||
else
|
||||
{
|
||||
display.Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
// This event is called when a repaint is needed
|
||||
private void display_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
if((General.Map != null) && (General.Map.Mode != null) && !displayresized) General.Map.Mode.RefreshDisplay();
|
||||
if(General.Map != null)
|
||||
{
|
||||
if(General.Map.Mode != null)
|
||||
{
|
||||
if(!displayresized) General.Map.Mode.RefreshDisplay();
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Graphics.Clear(Color.FromArgb(General.Colors.Background.ToInt()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Redraw requested
|
||||
|
@ -652,36 +665,36 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
}
|
||||
|
||||
// Mouse click
|
||||
private void display_MouseClick(object sender, MouseEventArgs e) { if(General.Map != null) General.Map.Mode.MouseClick(e); }
|
||||
private void display_MouseClick(object sender, MouseEventArgs e) { if((General.Map != null) && (General.Map.Mode != null)) General.Map.Mode.MouseClick(e); }
|
||||
|
||||
// Mouse doubleclick
|
||||
private void display_MouseDoubleClick(object sender, MouseEventArgs e) { if(General.Map != null) General.Map.Mode.MouseDoubleClick(e); }
|
||||
private void display_MouseDoubleClick(object sender, MouseEventArgs e) { if((General.Map != null) && (General.Map.Mode != null)) General.Map.Mode.MouseDoubleClick(e); }
|
||||
|
||||
// Mouse down
|
||||
private void display_MouseDown(object sender, MouseEventArgs e) { if(General.Map != null) General.Map.Mode.MouseDown(e); }
|
||||
private void display_MouseDown(object sender, MouseEventArgs e) { if((General.Map != null) && (General.Map.Mode != null)) General.Map.Mode.MouseDown(e); }
|
||||
|
||||
// Mouse enters
|
||||
private void display_MouseEnter(object sender, EventArgs e)
|
||||
{
|
||||
mouseinside = true;
|
||||
if((General.Map != null) && (mouseinput == null)) General.Map.Mode.MouseEnter(e);
|
||||
if((General.Map != null) && (mouseinput == null) && (General.Map.Mode != null)) General.Map.Mode.MouseEnter(e);
|
||||
}
|
||||
|
||||
// Mouse leaves
|
||||
private void display_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
mouseinside = false;
|
||||
if((General.Map != null) && (mouseinput == null)) General.Map.Mode.MouseLeave(e);
|
||||
if((General.Map != null) && (mouseinput == null) && (General.Map.Mode != null)) General.Map.Mode.MouseLeave(e);
|
||||
}
|
||||
|
||||
// Mouse moves
|
||||
private void display_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if((General.Map != null) && (mouseinput == null)) General.Map.Mode.MouseMove(e);
|
||||
if((General.Map != null) && (mouseinput == null) && (General.Map.Mode != null)) General.Map.Mode.MouseMove(e);
|
||||
}
|
||||
|
||||
// Mouse up
|
||||
private void display_MouseUp(object sender, MouseEventArgs e) { if(General.Map != null) General.Map.Mode.MouseUp(e); }
|
||||
private void display_MouseUp(object sender, MouseEventArgs e) { if((General.Map != null) && (General.Map.Mode != null)) General.Map.Mode.MouseUp(e); }
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -764,7 +777,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
General.Actions.InvokeByKey((int)e.KeyData);
|
||||
|
||||
// Invoke on editing mode
|
||||
if(General.Map != null) General.Map.Mode.KeyDown(e);
|
||||
if((General.Map != null) && (General.Map.Mode != null)) General.Map.Mode.KeyDown(e);
|
||||
}
|
||||
|
||||
// When a key is released
|
||||
|
@ -776,7 +789,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
ctrl = e.Control;
|
||||
|
||||
// Invoke on editing mode
|
||||
if(General.Map != null) General.Map.Mode.KeyUp(e);
|
||||
if((General.Map != null) && (General.Map.Mode != null)) General.Map.Mode.KeyUp(e);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
Loading…
Reference in a new issue