From: Enrico Forestieri Date: Tue, 27 Sep 2011 20:07:41 +0000 (+0000) Subject: Fix bug #7796 (LyX creates file on startup that cannot be deleted) X-Git-Tag: 2.1.0beta1~2642 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=715f005d6c318de87dc3d888ea8aba0191f26761;p=lyx.git Fix bug #7796 (LyX creates file on startup that cannot be deleted) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39779 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp index d5b62eb7b8..b678af0a8b 100644 --- a/src/LyXRC.cpp +++ b/src/LyXRC.cpp @@ -402,11 +402,15 @@ bool LyXRC::read(FileName const & filename, bool check_format) LYXERR0 ("Unable to convert " << filename.absFileName() << " to format " << LYXRC_FILEFORMAT); return false; + } else { + // Keep this in the else branch, such that lexrc2 goes out + // of scope and releases the lock on tempfile before we + // attempt to remove it. This matters on Windows. + Lexer lexrc2(lyxrcTags); + lexrc2.setFile(tempfile); + LYXERR(Debug::LYXRC, "Reading '" << tempfile << "'..."); + retval = read(lexrc2, check_format); } - Lexer lexrc2(lyxrcTags); - lexrc2.setFile(tempfile); - LYXERR(Debug::LYXRC, "Reading '" << tempfile << "'..."); - retval = read(lexrc2, check_format); tempfile.removeFile(); return retval == ReadOK; }