Joost Verburg wrote:
LyX 1.5 almost works on Windows 98/Me. I can create, open and save documents and do all the normal work. There is however one major bug that makes it useless: The second time LyX is started (when no configuration needs to be done anymore) it just crashes on startup! When I remove the configuration data and start LyX again, everything works just fine.

I've finally been able to solve the problem. It turned out to be a bug in recent versions of the boost filesystem library.

I suggest to apply this patch and upload the patch itself to the development directory.

OK?

Joost
Index: libs/filesystem/src/operations.cpp
===================================================================
--- libs/filesystem/src/operations.cpp  (revision 19015)
+++ libs/filesystem/src/operations.cpp  (working copy)
@@ -254,7 +254,7 @@
       create_file(
           ph1.c_str(),
           0,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
+          FILE_SHARE_READ | FILE_SHARE_WRITE,
           0,
           OPEN_EXISTING,
           FILE_FLAG_BACKUP_SEMANTICS,
@@ -266,7 +266,7 @@
       create_file(
           ph2.c_str(),
           0,
-          FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,
+          FILE_SHARE_READ | FILE_SHARE_WRITE,
           0,
           OPEN_EXISTING,
           FILE_FLAG_BACKUP_SEMANTICS,
@@ -409,7 +409,7 @@
   {
     handle_wrapper hw(
       create_file( ph.c_str(), 0,
-        FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
+        FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
         OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ) );
     if ( hw.handle == INVALID_HANDLE_VALUE )
       return ::GetLastError();
@@ -423,7 +423,7 @@
   {
     handle_wrapper hw(
       create_file( ph.c_str(), FILE_WRITE_ATTRIBUTES,
-        FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
+        FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
         OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ) );
     if ( hw.handle == INVALID_HANDLE_VALUE )
       return ::GetLastError();

Reply via email to