Mutex mutexLock(mMutexName); NS_ENSURE_TRUE(mutexLock.Lock(MOZ_DDE_START_TIMEOUT), NS_ERROR_FAILURE );      MessageWindow mw; mw.Destroy();
nsNativeAppSupportWin::Quit() {    if ( mInstance ) {        // Undo registry setting if we need to.        if ( mSupportingDDEExec && handlingHTTP() ) {            mSupportingDDEExec = PR_FALSE;#if MOZ_DEBUG_DDE            printf( "Deleting ddexec subkey on exit\n" );#endif            deleteKey( HKEY_CLASSES_ROOT, "http\\shell\\open\\ddeexec" );        }        // Unregister application name.        DdeNameService( mInstance, mApplication, 0, DNS_UNREGISTER );        // Clean up strings.        if ( mApplication ) {            DdeFreeStringHandle( mInstance, mApplication );            mApplication = 0;        }        for ( int i = 0; i < topicCount; i++ ) {            if ( mTopics[i] ) {                DdeFreeStringHandle( mInstance, mTopics[i] );                mTopics[i] = 0;            }        }        DdeUninitialize( mInstance );        mInstance = 0;    }    return NS_OK;}