On 07/02/2016 01:09 PM, Georg Baum wrote: > Georg Baum wrote: > >> commit 6dfc255088ecd3393c4c5dc3d2c5357a3fbabfc0 >> Author: Georg Baum <b...@lyx.org> >> Date: Sat Jul 2 18:58:30 2016 +0200 >> >> Fix CAS input on windows (bug 10262) >> >> This is the well known file locking problem: The TempFile class keeps >> the created file locked for the own process, and this prevents the CAS >> to read it. >> --- >> src/mathed/MathExtern.cpp | 9 +++++++-- >> 1 files changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/src/mathed/MathExtern.cpp b/src/mathed/MathExtern.cpp >> index b3443fa..8b1e0f0 100644 >> --- a/src/mathed/MathExtern.cpp >> +++ b/src/mathed/MathExtern.cpp >> @@ -1001,8 +1001,13 @@ namespace { >> { >> // In order to avoid parsing problems with command interpreters >> // we pass input data through a file >> - TempFile tempfile("casinput"); >> - FileName const cas_tmpfile = tempfile.name(); >> + // Since the CAS is supposed to read the temp file we > need >> + // to unlock it on windows (bug 10262). >> + unique_ptr<TempFile> tempfile(new TempFile("casinput")); >> + tempfile->setAutoRemove(false); >> + FileName const cas_tmpfile = tempfile->name(); >> + tempfile.reset(); >> + >> if (cas_tmpfile.empty()) { >> lyxerr << "Warning: cannot create temporary file." >> << endl; > Richard, OK for 2.2 (with auto_ptr instead of unique_ptr)?
Yes, looks good. Richard