# HG changeset patch
# User t_mrc-ct@users.sourceforge.jp
# Date 1368453082 -32400
# Branch GECKO1708_2013080114_RELBRANCH
# Node ID bb75605f86edfee821a89696300cb8b9d523e11a
# Parent  ab7ad883b5a06f9a703ca190830fa41c2ae892f9
properly restore dock icon when quit app. (tiger)

diff --git a/mailnews/base/src/nsMessengerOSXIntegration.mm b/mailnews/base/src/nsMessengerOSXIntegration.mm
--- a/mailnews/base/src/nsMessengerOSXIntegration.mm
+++ b/mailnews/base/src/nsMessengerOSXIntegration.mm
@@ -203,6 +203,11 @@
 
 nsMessengerOSXIntegration::~nsMessengerOSXIntegration()
 {
+  nsresult rv;
+  nsCOMPtr<nsIObserverService> observerService = do_GetService("@mozilla.org/observer-service;1", &rv);
+  if (NS_SUCCEEDED(rv)) {
+    observerService->RemoveObserver(this, "quit-application");
+  }
   RestoreDockIcon();
 }
 
@@ -226,6 +231,7 @@
   nsCOMPtr<nsIObserverService> observerService = do_GetService("@mozilla.org/observer-service;1", &rv);
   NS_ENSURE_SUCCESS(rv, rv);
   observerService->AddObserver(this, "before-growl-registration", false);
+  observerService->AddObserver(this, "quit-application", false);
   return observerService->AddObserver(this, "mail-startup-done", false);
 }
 
@@ -256,6 +262,15 @@
   if (!strcmp(aTopic, "alertclickcallback"))
     return OnAlertClicked(aData);
 
+  if (!strcmp(aTopic, "quit-application")) {
+    nsresult rv;
+    nsCOMPtr<nsIObserverService> observerService = do_GetService("@mozilla.org/observer-service;1", &rv);
+    if (NS_SUCCEEDED(rv)) {
+      observerService->RemoveObserver(this, "quit-application");
+    }
+    return RestoreDockIcon();
+  }
+
   if (!strcmp(aTopic, "mail-startup-done")) {
     nsresult rv;
     nsCOMPtr<nsIObserverService> observerService = do_GetService("@mozilla.org/observer-service;1", &rv);
