else if (nsCRT::strcmp(aTopic, NS_LITERAL_STRING("profile-change-teardown").get()) == 0)
else if (nsCRT::strcmp(aTopic, "profile-change-teardown") == 0)
NS_IMETHODIMP ProfileChangeObserver::Observe(nsISupports *aSubject, const PRUnichar *aTopic, const PRUnichar *someData){    nsresult rv = NS_OK;    if (nsCRT::strcmp(aTopic, NS_LITERAL_STRING("profile-approve-change").get()) == 0)    {		// The profile is about to change!        // Ask the user if they want to        int result = ::MessageBox(NULL, "Do you want to close all windows in order to switch the profile?", "Confirm", MB_YESNO | MB_ICONQUESTION);        if (result != IDYES)        {            nsCOMPtr<nsIProfileChangeStatus> status = do_QueryInterface(aSubject);            NS_ENSURE_TRUE(status, NS_ERROR_FAILURE);            status->VetoChange();        }    }    else if (nsCRT::strcmp(aTopic, NS_LITERAL_STRING("profile-change-teardown").get()) == 0)    {		// The profile is changing!		// Prevent WM_QUIT by incrementing the dialog count		gDialogCount++;    }    else if (nsCRT::strcmp(aTopic, NS_LITERAL_STRING("profile-after-change").get()) == 0)    {		// Decrease the dialog count so WM_QUIT can once more happen		gDialogCount--;        if (gDialogCount == 0)        {            // All the dialogs have been torn down so open new page            OpenWebPage(gFirstURL);        }        else        {		    // The profile has changed, but dialogs are still being            // torn down. Set this flag so when the last one goes            // it can finish the switch.            gProfileSwitch = TRUE;        }    }    return rv;}