private void form_close_req(object sender, FormClosingEventArgs e) { if (ConvertProcessor.in_process) { switch (MessageBox.Show( this, "Texture converting is in progress now, would you wish to stop it and halt the program?", "Converting in progress", MessageBoxButtons.YesNo, MessageBoxIcon.Question )) { case DialogResult.Yes: ConvertProcessor.cancel(); break; case DialogResult.No: e.Cancel = true; return; } ; } ; ModificationWatchdog.stop_watch(); if (t_mod.Enabled) { switch (MessageBox.Show( this, "Project is modified, but not saved. Save it before exit?", "Project not saved", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question )) { case DialogResult.Yes: b_save_ButtonClick(b_save, e); break; case DialogResult.Cancel: e.Cancel = true; return; } ; } ; conv_core.workbench.free(); OptionsController.save_history(m_history); OptionsController.save_options(this); m_log = null; }