void OnBackendChanged(ApplicationBackend oldBackend)
{
if (oldBackend != null) {
tmpProjectFile = Path.GetTempFileName ();
backend.Save (tmpProjectFile);
}
backend = app.Backend.CreateProject ();
backend.SetFrontend (this);
if (tmpProjectFile != null && File.Exists (tmpProjectFile)) {
backend.Load (tmpProjectFile, fileName);
File.Delete (tmpProjectFile);
tmpProjectFile = null;
} else if (fileName != null) {
backend.Load (fileName);
}
if (resourceProvider != null)
backend.ResourceProvider = resourceProvider;
if (BackendChanged != null)
BackendChanged (oldBackend);
if (ProjectReloaded != null)
ProjectReloaded (this, EventArgs.Empty);
}