private void RemoveCameraPanel(CameraWindow cameraControl)
{
_pnlCameras.Controls.Remove(cameraControl);
if (!_closing)
{
CameraWindow control = cameraControl;
var oc = Cameras.FirstOrDefault(p => p.id == control.Camobject.id);
if (oc != null)
{
lock (ThreadLock)
{
Masterfilelist.RemoveAll(p => p.ObjectId == oc.id && p.ObjectTypeId == 2);
}
Actions.RemoveAll(p => p.objectid == control.Camobject.id && p.objecttypeid == 2);
Cameras.Remove(oc);
}
foreach (var ofp in FloorPlans)
ofp.needsupdate = true;
NeedsSync = true;
SetNewStartPosition();
}
Application.DoEvents();
cameraControl.Dispose();
if (!_shuttingDown)
{
LoadPreviews();
}
}