浏览代码

fix watch when file is currently being written

ncannasse 11 年之前
父节点
当前提交
70927eae25
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      hxd/res/LocalFileSystem.hx

+ 8 - 2
hxd/res/LocalFileSystem.hx

@@ -229,8 +229,14 @@ private class LocalEntry extends FileEntry {
 		for( w in WATCH_LIST ) {
 			var t = try w.file.modificationDate.getTime() catch( e : Dynamic ) -1;
 			if( t != w.watchTime ) {
-				// check we can read (might be deleted/renamed/currently writing)
-				try { w.close(); w.open(); w.close(); } catch( e : Dynamic ) continue;
+				// check we can write (might be deleted/renamed/currently writing)
+				try {
+					var f = new flash.filesystem.FileStream();
+					f.open(w.file, flash.filesystem.FileMode.READ);
+					f.close();
+					f.open(w.file, flash.filesystem.FileMode.APPEND);
+					f.close();
+				} catch( e : Dynamic ) continue;
 				w.watchTime = t;
 				w.watchCallback();
 			}