@@ -81,22 +81,24 @@ function mt:loadFile(uri, libraryUri)
8181 if files .getFile (uri ) then
8282 self .read = self .read + 1
8383 self :update ()
84- files .addRef (uri )
84+ if not self ._cache [uri ] then
85+ files .addRef (uri )
86+ end
8587 self ._cache [uri ] = true
8688 log .info ((' Skip loaded file: %s' ):format (uri ))
8789 else
8890 local content = pub .awaitTask (' loadFile' , furi .decode (uri ))
8991 self .read = self .read + 1
9092 self :update ()
91- if not self ._cache [uri ] then
92- files .addRef (uri )
93- end
94- self ._cache [uri ] = true
9593 if not content then
9694 return
9795 end
9896 log .info ((' Preload file at: %s , size = %.3f KB' ):format (uri , # content / 1024.0 ))
9997 files .setText (uri , content , false )
98+ if not self ._cache [uri ] then
99+ files .addRef (uri )
100+ end
101+ self ._cache [uri ] = true
100102 end
101103 if libraryUri then
102104 log .info (' ++++As library of:' , libraryUri )
@@ -110,22 +112,24 @@ function mt:loadFile(uri, libraryUri)
110112 if files .getFile (uri ) then
111113 self .read = self .read + 1
112114 self :update ()
113- files .addRef (uri )
115+ if not self ._cache [uri ] then
116+ files .addRef (uri )
117+ end
114118 self ._cache [uri ] = true
115119 log .info ((' Skip loaded file: %s' ):format (uri ))
116120 else
117121 local content = pub .awaitTask (' loadFile' , furi .decode (uri ))
118122 self .read = self .read + 1
119123 self :update ()
120- if not self ._cache [uri ] then
121- files .addRef (uri )
122- end
123- self ._cache [uri ] = true
124124 if not content then
125125 return
126126 end
127127 log .info ((' Preload dll at: %s , size = %.3f KB' ):format (uri , # content / 1024.0 ))
128128 files .saveDll (uri , content )
129+ if not self ._cache [uri ] then
130+ files .addRef (uri )
131+ end
132+ self ._cache [uri ] = true
129133 end
130134 if libraryUri then
131135 log .info (' ++++As library of:' , libraryUri )
0 commit comments