Merge from branch for Exit problems

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@743 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2010-07-30 16:05:44 +00:00
commit f84b227d47

View file

@ -537,23 +537,34 @@ namespace Greenshot {
/// Exit/cleanup /// Exit/cleanup
/// </summary> /// </summary>
public void exit() { public void exit() {
// Inform all registed plugins try {
PluginHelper.instance.Shutdown(); // Make sure hotkeys are disabled
HotkeyHelper.UnregisterHotkeys((int)this.Handle);
// Make the Greenshot icon invisible
notifyIcon.Visible = false; // Now the sound isn't needed anymore
SoundHelper.Deinitialize();
conf.Store();
HotkeyHelper.UnregisterHotkeys((int)this.Handle); // Making sure all Windows are closed, gracefull shutdown
SoundHelper.Deinitialize(); Application.Exit();
if (applicationMutex != null) {
try { // Inform all registed plugins
applicationMutex.ReleaseMutex(); PluginHelper.instance.Shutdown();
} catch (Exception ex) {
LOG.Error("Error releasing Mutex!", ex); // Store any open configuration changes
conf.Store();
} finally {
// Remove the application mutex
if (applicationMutex != null) {
try {
applicationMutex.ReleaseMutex();
} catch (Exception ex) {
LOG.Error("Error releasing Mutex!", ex);
}
} }
// make the icon invisible otherwise it stays even after exit!!
notifyIcon.Visible = false;
} }
Application.Exit();
} }
} }
} }