diff --git a/runtime/lua/xml.lua b/runtime/lua/xml.lua index a1726f36be..6a4c0b2ea5 100644 --- a/runtime/lua/xml.lua +++ b/runtime/lua/xml.lua @@ -101,6 +101,11 @@ function xml.LoadXMLFile(fileName) end local fileText = fileHnd:read("*a") fileHnd:close() + if not fileText then + return nil, fileName.." file returns nil. OneDrive?" + elseif fileText == "" then + return nil, fileName.." file is empty" + end return xml.ParseXML(fileText) end diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index a6ba48d4b7..ac92bbcf70 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -506,6 +506,11 @@ end function main:LoadSettings(ignoreBuild) local setXML, errMsg = common.xml.LoadXMLFile(self.userPath.."Settings.xml") + if errMsg and not errMsg:match(".*No such file or directory") then + ConPrintf("Error: '%s'", errMsg) + launch:ShowErrMsg("^1"..errMsg) + return true + end if not setXML then return true elseif setXML[1].elem ~= "PathOfBuilding2" then @@ -640,6 +645,11 @@ end function main:LoadSharedItems() local setXML, errMsg = common.xml.LoadXMLFile(self.userPath.."Settings.xml") + if errMsg and not errMsg:match(".*No such file or directory") then + ConPrintf("Error: '%s'", errMsg) + launch:ShowErrMsg("^1"..errMsg) + return true + end if not setXML then return true elseif setXML[1].elem ~= "PathOfBuilding2" then