Commit 5b9c3547 authored by Dick Hollenbeck's avatar Dick Hollenbeck
Browse files

wxFileName::CreateTemporaryFile() is switching to /tmp directory when no preceding path is present

parent a4de3018
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -4091,12 +4091,18 @@ void FPL_CACHE::Save()
            _( "Legacy library file '%s' is read only" ), m_lib_name.GetData() ) );
    }

    wxString tempFileName = wxFileName::CreateTempFileName( m_lib_name );

    // wxLogDebug( "tempFileName:'%s'\n", TO_UTF8( tempFileName ) );
    wxString tempFileName;

    // a block {} scope to fire wxFFile wxf()'s destructor
    {
        // CreateTempFileName works better with an absolute path
        wxFileName abs_lib_name( m_lib_name );

        abs_lib_name.MakeAbsolute();
        tempFileName = wxFileName::CreateTempFileName( abs_lib_name.GetFullPath() );

        wxLogDebug( "tempFileName:'%s'  m_lib_name:'%s'\n", TO_UTF8( tempFileName ), TO_UTF8( m_lib_name ) );

        FILE* fp = wxFopen( tempFileName, wxT( "w" ) );
        if( !fp )
        {
@@ -4123,7 +4129,7 @@ void FPL_CACHE::Save()
    if( wxRename( tempFileName, m_lib_name ) )
    {
        THROW_IO_ERROR( wxString::Format(
            _( "Unable to rename tempfile '%s' to to library file '%s'" ),
            _( "Unable to rename tempfile '%s' to library file '%s'" ),
            tempFileName.GetData(),
            m_lib_name.GetData() ) );
    }