diff --git a/libs/main/io_devices/pifile.cpp b/libs/main/io_devices/pifile.cpp index e4fd8fd0..29f3af79 100644 --- a/libs/main/io_devices/pifile.cpp +++ b/libs/main/io_devices/pifile.cpp @@ -148,7 +148,14 @@ PIFile::PIFile(const PIString & path, PIIODevice::DeviceMode mode): PIIODevice(p bool PIFile::openTemporary(PIIODevice::DeviceMode mode) { - return open(PIString(tmpnam(0)), mode); + PIString tp; + char * rc = tmpnam(0); + if (!rc) return false; + tp = rc; +#ifdef WINDOWS + tp = PIDir::temporary().path() + PIDir::separator + "file" + tp.cutLeft(1).cutRight(1); +#endif + return open(tp, mode); }