@@ -283,12 +283,17 @@ Item {
283283 objectName: "checkableMenu"
284284 property QtObject menuData: null
285285 property int menuIndex: -1
286+ property bool serverChecked: menuData && menuData.isToggled || false
286287
287288 text: menuData && menuData.label || ""
288289 enabled: menuData && menuData.sensitive || false
289− checked: menuData && menuData.isToggled || false
290+ checked: serverChecked
290291 highlightWhenPressed: false
291292
293+ onServerCheckedChanged: {
294+ // value can be changed by menu, so a binding won't work.
295+ checked = serverChecked;
296+ }
292297 onTriggered: {
293298 menuModel.activate(menuIndex);
294299 }
@@ -302,13 +307,18 @@ Item {
302307 objectName: "switchMenu"
303308 property QtObject menuData: null
304309 property int menuIndex: -1
310+ property bool serverChecked: menuData && menuData.isToggled || false
305311
306312 text: menuData && menuData.label || ""
307313 iconSource: menuData && menuData.icon || ""
308314 enabled: menuData && menuData.sensitive || false
309− checked: menuData && menuData.isToggled || false
315+ checked: serverChecked
310316 highlightWhenPressed: false
311317
318+ onServerCheckedChanged: {
319+ // value can be changed by menu, so a binding won't work.
320+ checked = serverChecked;
321+ }
312322 onTriggered: {
313323 menuModel.activate(menuIndex);
314324 }
@@ -431,6 +441,7 @@ Item {
431441 property var menuModel: menuFactory.menuModel
432442 property int menuIndex: -1
433443 property var extendedData: menuData && menuData.ext || undefined
444+ property bool serverChecked: menuData && menuData.isToggled || false
434445
435446 property var strengthAction: UnityMenuAction {
436447 model: menuModel
@@ -440,12 +451,16 @@ Item {
440451
441452 text: menuData && menuData.label || ""
442453 enabled: menuData && menuData.sensitive || false
443− active: menuData && menuData.isToggled || false
454+ active: serverChecked
444455 secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
445456 adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
446457 signalStrength: strengthAction.valid ? strengthAction.state : 0
447458 highlightWhenPressed: false
448459
460+ onServerCheckedChanged: {
461+ // value can be changed by menu, so a binding won't work.
462+ active = serverChecked;
463+ }
449464 onMenuModelChanged: {
450465 loadAttributes();
451466 }