cbi.lua: Fix Flag.parse() to set "self.section.changed"
[project/luci.git] / modules / luci-base / luasrc / cbi.lua
index 7c5944b..f3d4618 100644 (file)
@@ -324,6 +324,7 @@ function Map.__init__(self, config, ...)
                                luci.http.redirect(url)
                        end
                end
+               self.save = false
        end
 
        if not ok then
@@ -1532,13 +1533,16 @@ function Flag.parse(self, section)
 
        if fexists then
                local fvalue = self:formvalue(section) and self.enabled or self.disabled
+               local cvalue = self:cfgvalue(section)
                if fvalue ~= self.default or (not self.optional and not self.rmempty) then
                        self:write(section, fvalue)
                else
                        self:remove(section)
                end
+               if (fvalue ~= cvalue) then self.section.changed = true end
        else
                self:remove(section)
+               self.section.changed = true
        end
 end