if (!gAbortServer) { rv = msgWindow.Create(); if ( NS_SUCCEEDED( rv ) ) {  this->StartDDE();  *aResult = PR_TRUE; }
rv = msgWindow.Create(); if ( NS_SUCCEEDED( rv ) ) {  this->StartDDE();  *aResult = PR_TRUE;
nsNativeAppSupportWin::Start( PRBool *aResult ) {    NS_ENSURE_ARG( aResult );    NS_ENSURE_TRUE( mInstance == 0, NS_ERROR_NOT_INITIALIZED );    if (getenv("MOZ_NO_REMOTE"))    {        *aResult = PR_TRUE;        return NS_OK;    }    nsresult rv = NS_ERROR_FAILURE;    *aResult = PR_FALSE;    // Grab mutex first.    int retval;    UINT id = ID_DDE_APPLICATION_NAME;    retval = LoadString( (HINSTANCE) NULL, id, (LPTSTR) nameBuffer, sizeof(nameBuffer) );    if ( retval == 0 ) {        // No app name; just keep running.        *aResult = PR_TRUE;        return NS_OK;    }    // Build mutex name from app name.    ::_snprintf( mMutexName, sizeof mMutexName, "%s%s", nameBuffer, MOZ_STARTUP_MUTEX_NAME );    Mutex startupLock = Mutex( mMutexName );    NS_ENSURE_TRUE( startupLock.Lock( MOZ_DDE_START_TIMEOUT ), NS_ERROR_FAILURE );    // Search for existing message window.    MessageWindow msgWindow;    if ( (HWND)msgWindow ) {        // We are a client process.  Pass request to message window.        LPTSTR cmd = ::GetCommandLine();        rv = msgWindow.SendRequest( cmd );    } else {        // We will be server.        if (!gAbortServer) {            rv = msgWindow.Create();            if ( NS_SUCCEEDED( rv ) ) {                // Start up DDE server.                this->StartDDE();                // Tell caller to spin message loop.                *aResult = PR_TRUE;            }        }    }    startupLock.Unlock();    return rv;}