Author: bklaas
Date: Mon Mar 1 12:42:35 2010
New Revision: 8608
URL: http://svn.slimdevices.com/jive?rev=8608&view=rev
Log:
Fixed Bug: 15793
Description: remove menu item after unsafe eject. If self.ejectItems table has
been cleared out of memory, attempt to remove the item from HomeMenu by id
instead
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
Modified:
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
URL:
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua?rev=8608&r1=8607&r2=8608&view=diff
==============================================================================
---
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
(original)
+++
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SqueezeCenter/SqueezeCenterApplet.lua
Mon Mar 1 12:42:35 2010
@@ -441,6 +441,9 @@
-- if devName is still in the self.mountedDevices table, consider this
an unsafe eject
if self.mountedDevices and self.mountedDevices[devName] then
+ --Bug 15793, remove eject item from menu after bad eject
+ self:_removeEjectDeviceItem(devName)
+
log:warn('!!! Drive ', self.mountedDevices[devName].deviceName,
' was unsafely ejected.')
local window = Window("text_list",
self:string("DEVICE_REMOVAL_WARNING"))
window:setAllowScreensaver(false)
@@ -466,6 +469,7 @@
log:warn('SqueezeCenter drive was improperly ejected.
Stopping SqueezeCenter')
self:_stopServer(silent)
end
+
self.mountedDevices[devName] = nil
self:getSettings()['mountedDevices'] = self.mountedDevices
self:storeSettings()
@@ -740,14 +744,16 @@
jiveMain:removeItem(self.ejectItems[devName])
self.ejectItems[devName] = nil
else
- log:warn('no menu item found for ', devName)
+ -- bug 15739: since self.ejectItems can be freed from memory,
try to remove the item by the home menu id, which is devName
+ log:warn('attempt to remove item by id: ', devName)
+ jiveMain:removeItemById(devName)
end
end
function _addEjectDeviceItem(self, devName)
- log:debug('_addEjectDeviceItem()')
+ log:debug('_addEjectDeviceItem(): ', devName)
local item = self.mountedDevices and self.mountedDevices[devName]
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins