Author: titmuss
Date: Wed Nov 12 15:12:23 2008
New Revision: 3352

URL: http://svn.slimdevices.com?rev=3352&root=Jive&view=rev
Log:
 [EMAIL PROTECTED] (orig r3345):  titmuss | 2008-11-12 16:08:23 +0000
 Bug: 9926
 Description:
 Allow the image mask to be used even when popup windows are not transparent. 
This makes the background on the firmware update window 
 black again, but still without the expense of drawing the window underneath.
 
 
 [EMAIL PROTECTED] (orig r3346):  titmuss | 2008-11-12 16:32:40 +0000
 Bug: 9960
 Description:
 Don't send comet subscriptions with the meta (re)connect requests. SC can't 
ensure the responses are returned in the correct order, 
 and that confuses the state machine in the comet class. This could result in 
some subscriptions being lost, and multiple tcp 
 connection requests.
 
 
 [EMAIL PROTECTED] (orig r3347):  titmuss | 2008-11-12 17:03:56 +0000
 Bug: N/A
 Description:
 We have some reports on the forum where jive now reboots during the splash 
screen. Tweak the watchdog timer again.
 
 
 [EMAIL PROTECTED] (orig r3348):  titmuss | 2008-11-12 17:25:01 +0000
 Bug: N/A
 Description:
 Tom moved and renamed the settings files, make sure we keep them during an 
upgrade.
 
 [EMAIL PROTECTED] (orig r3349):  bklaas | 2008-11-12 19:51:54 +0000
 Bug: 8878
 Description: clear playlist/party icon on player disconnect
 [EMAIL PROTECTED] (orig r3350):  titmuss | 2008-11-12 22:33:12 +0000
 Bug: 9362
 Description:
 Fix rendering Choice widgets when used with home menu customization.
 
 
 [EMAIL PROTECTED] (orig r3351):  titmuss | 2008-11-12 22:47:28 +0000
 Bug: 9362
 Description:
 Opps, fix syntax error.
 
 

Modified:
    7.4/trunk/   (props changed)
    
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/keep-after-upgrade
    
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
    7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Comet.lua
    7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
    7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Group.lua
    7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Menu.lua
    7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_group.c
    7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c
    
7.4/trunk/squeezeplay/src/squeezeplay_contrib/share/applets/Test/TestApplet.lua
    
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua

Propchange: 7.4/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Wed Nov 12 15:12:23 2008
@@ -2,7 +2,7 @@
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/branches/discovery-refactor:2596
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/trunk:2920
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.2/trunk:2921
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:3342
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:3351
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/keep-after-upgrade
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/keep-after-upgrade?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/keep-after-upgrade
 (original)
+++ 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/keep-after-upgrade
 Wed Nov 12 15:12:23 2008
@@ -1,4 +1,4 @@
 # Files matching the following pattern are preserved after an SqueezeOS upgrade
-/settings.lua$
+settings.lua$
 /etc/
 /root/

Modified: 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
 (original)
+++ 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
 Wed Nov 12 15:12:23 2008
@@ -3,7 +3,7 @@
 PRIORITY = "required"
 LICENSE = "GPL"
 
-PR = "r13"
+PR = "r14"
 
 SRC_URI = " \
        file://config \

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Comet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Comet.lua?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Comet.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/Comet.lua Wed Nov 12 
15:12:23 2008
@@ -89,6 +89,7 @@
 local _getHandshakeSink
 local _connect
 local _reconnect
+local _connected
 local _getEventSink
 local _getRequestSink
 local _response
@@ -669,19 +670,6 @@
                subscription = '/' .. self.clientId .. '/**',
        } }
 
-       -- Add any un-acknowledged requests to the outgoing data
-       for i, v in ipairs(self.sent_reqs) do
-               table.insert(data, v)
-       end
-
-       -- Add any other pending requests to the outgoing data
-       _addPendingRequests(self, data)
-
-       if log:isDebug() then
-               log:debug("Sending pending request(s):")
-               debug.dump(data, 5)
-       end
-
        -- This will be our last request on this connection, it is now only
        -- for listening for responses
 
@@ -717,14 +705,6 @@
                connectionType = 'streaming',
        } }
 
-       -- Add any un-acknowledged requests to the outgoing data
-       for i, v in ipairs(self.sent_reqs) do
-               table.insert(data, v)
-       end
-
-       -- Add any other pending requests to the outgoing data
-       _addPendingRequests(self, data)
-
        _state(self, CONNECTING)
        
        local req = CometRequest(
@@ -734,6 +714,38 @@
                )
 
        self.chttp:fetch(req)
+end
+
+
+_connected = function(self)
+       _state(self, CONNECTED)
+
+       local data = { }
+
+       -- Add any un-acknowledged requests to the outgoing data
+       for i, v in ipairs(self.sent_reqs) do
+               table.insert(data, v)
+       end
+
+       -- Add any other pending requests to the outgoing data
+       _addPendingRequests(self, data)
+
+       -- Only continue if we have some data to send
+       if data[1] then
+
+               if log:isDebug() then
+                       log:debug("Sending pending request(s):")
+                       debug.dump(data, 5)
+               end
+
+               local req = CometRequest(
+                       _getEventSink(self),
+                       self.uri,
+                       data
+               )
+
+               self.rhttp:fetch(req)
+       end
 end
 
 
@@ -804,10 +816,7 @@
                -- Handle response
                if event.channel == '/meta/connect' then
                        if event.successful then
-                               _state(self, CONNECTED)
-
-                               -- send any requests queued during connect
-                               _sendPendingRequests(self)
+                               _connected(self)
                        else
                                return _handleAdvice(self)
                        end
@@ -824,7 +833,7 @@
                        end
                elseif event.channel == '/meta/reconnect' then
                        if event.successful then
-                               _state(self, CONNECTED)
+                               _connected(self)
                        else
                                return _handleAdvice(self)
                        end

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua Wed Nov 12 
15:12:23 2008
@@ -130,7 +130,6 @@
 function getCurrentPlayer(self)
        return currentPlayer
 end
-
 
 -- class method, sets the current player
 function setCurrentPlayer(class, player)
@@ -821,6 +820,7 @@
        iconbar:setPlaymode(nil)
        iconbar:setRepeat(nil)
        iconbar:setShuffle(nil)
+       iconbar:setPlaylistMode(nil)
        
        -- unsubscribe from playerstatus and displaystatus events
        self.slimServer.comet:startBatch()

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Group.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Group.lua?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Group.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Group.lua Wed Nov 12 
15:12:23 2008
@@ -108,12 +108,13 @@
 =cut
 --]]
 function setWidget(self, key, widget)
-       if self.widgets[key] == widget then
+       if self.widgets[key] == widget
+               and self.widgets[key].parent == self then
                return
        end
 
        if self.widgets[key] then
-               if self.widgets[key].parent == self then
+               if self.widgets[key].parent ~= self then
                        if self.visible then
                                self.widgets[key]:dispatchNewEvent(EVENT_HIDE)
                        end

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Menu.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Menu.lua?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Menu.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Menu.lua Wed Nov 12 
15:12:23 2008
@@ -262,6 +262,7 @@
                        widget:_event(event)
                end
 
+               self:reLayout()
                return EVENT_UNUSED
        end
 

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_group.c
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_group.c?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_group.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_group.c Wed Nov 12 
15:12:23 2008
@@ -218,10 +218,21 @@
 
 
 static int draw_closure(lua_State *L) {
-       if (jive_getmethod(L, 1, "draw")) {
+       bool is_parent;
+
+       /* Only draw the widget if we are it's parent. This fixes a
+        * rendering error when a widget (eg choice) is used in the
+        * home menu customization (Bug 9362).
+        */
+       lua_getfield(L, 1, "parent");
+       lua_pushvalue(L, lua_upvalueindex(1)); // group widget
+       is_parent = (lua_equal(L, -1, -2) == 1);
+       lua_pop(L, 2);
+
+       if (is_parent && jive_getmethod(L, 1, "draw")) {
                lua_pushvalue(L, 1); // widget
-               lua_pushvalue(L, lua_upvalueindex(1)); // surface
-               lua_pushvalue(L, lua_upvalueindex(2)); // layer
+               lua_pushvalue(L, lua_upvalueindex(2)); // surface
+               lua_pushvalue(L, lua_upvalueindex(3)); // layer
                lua_call(L, 3, 0);
        }
 
@@ -251,9 +262,10 @@
        if (jive_getmethod(L, 1, "iterate")) {
                lua_pushvalue(L, 1); // widget
 
+               lua_pushvalue(L, 1); // widget
                lua_pushvalue(L, 2); // surface
                lua_pushvalue(L, 3); // layer
-               lua_pushcclosure(L, draw_closure, 2);
+               lua_pushcclosure(L, draw_closure, 3);
 
                lua_call(L, 2, 0);
        }

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c Wed Nov 12 
15:12:23 2008
@@ -203,39 +203,45 @@
        WindowWidget *peer = jive_getpeer(L, 1, &windowPeerMeta);
        JiveSurface *srf = tolua_tousertype(L, 2, 0);
        Uint32 layer = luaL_optinteger(L, 3, JIVE_LAYER_ALL);
+       bool_t is_transparent, is_mask;
 
        lua_getfield(L, 1, "transparent");
-       if (lua_toboolean(L, -1)) {
-               /* draw underneath a popup */
-               if (jive_getmethod(L, 1, "getLowerWindow")) {
-                       lua_pushvalue(L, 1);
-                       lua_call(L, 1, 1);
-
-                       if ((layer & JIVE_LAYER_LOWER) && jive_getmethod(L, -1, 
"draw")) {
-                               lua_pushvalue(L, -2);
-                               lua_pushvalue(L, 2);
-                               lua_pushinteger(L, JIVE_LAYER_ALL);
+       is_transparent = lua_toboolean(L, -1);
+       lua_pop(L, 1);
+
+       is_mask = (layer & peer->w.layer) && peer->mask_tile;
+
+       if ((is_transparent || is_mask) &&
+           jive_getmethod(L, 1, "getLowerWindow")) {
+               lua_pushvalue(L, 1);
+               lua_call(L, 1, 1);
+
+               /* draw window underneath a popup */
+               if (is_transparent && (layer & JIVE_LAYER_LOWER)
+                   && jive_getmethod(L, -1, "draw")) {
+                       lua_pushvalue(L, -2);
+                       lua_pushvalue(L, 2);
+                       lua_pushinteger(L, JIVE_LAYER_ALL);
                                
-                               lua_call(L, 3, 0);
+                       lua_call(L, 3, 0);
+               }
+
+               /* draw mask under a popup */
+               if (is_mask && !lua_isnil(L, -1)) {
+                       JiveWidget *peer2;
+
+                       lua_getfield(L, -1, "peer");
+                       if (!lua_isnil(L, -1)) {
+                               peer2 = lua_touserdata(L, -1);
+
+                               jive_tile_blit(peer->mask_tile, srf, 
peer2->bounds.x, peer2->bounds.y, peer2->bounds.w, peer2->bounds.h);
                        }
-
-                       if ((layer & peer->w.layer) && !lua_isnil(L, -1) && 
peer->mask_tile) {
-                               JiveWidget *peer2;
-
-                               lua_getfield(L, -1, "peer");
-                               if (!lua_isnil(L, -1)) {
-                                       peer2 = lua_touserdata(L, -1);
-
-                                       jive_tile_blit(peer->mask_tile, srf, 
peer2->bounds.x, peer2->bounds.y, peer2->bounds.w, peer2->bounds.h);
-                               }
                                
-                               lua_pop(L, 1);
-                       }
-
-                       lua_pop(L, 1);
-               }
-       }
-       lua_pop(L, 1);
+                       lua_pop(L, 1);
+               }
+
+               lua_pop(L, 1);
+       }
 
        /* window background */
        if ((layer & peer->w.layer) && peer->bg_tile) {

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_contrib/share/applets/Test/TestApplet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_contrib/share/applets/Test/TestApplet.lua?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay_contrib/share/applets/Test/TestApplet.lua 
(original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay_contrib/share/applets/Test/TestApplet.lua 
Wed Nov 12 15:12:23 2008
@@ -461,10 +461,12 @@
 
        local popup = Popup("popupIcon")
 
+       popup:setTransparent(false)
+
        --FIXME, this window does not layout correctly (Bug 5412)
        local icon = Icon("iconConnecting")
        local text = Label("text", "\nDownloading Firmware")
-       local label = Label("downloading", "0%")
+       local label = Label("text", "0%")
 
        popup:addWidget(label)
        popup:addWidget(icon)

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=3352&root=Jive&r1=3351&r2=3352&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 Wed Nov 12 15:12:23 2008
@@ -116,11 +116,17 @@
        -- watchdog timer
        self.watchdog = Watchdog:open()
        if self.watchdog then
-               self.watchdog:setTimeout(15) -- 15 seconds
+               -- allow 30 seconds to boot
+               self.watchdog:setTimeout(30)
                local timer = Timer(2000, -- 2 seconds
-                                   function()
-                                           self.watchdog:keepAlive()
-                                   end)
+                       function()
+                               -- 10 second when running
+                               if not self.watchdogRunning then
+                                       self.watchdog:setTimeout(10)
+                                       self.watchdogRunning = true
+                               end
+                               self.watchdog:keepAlive()
+                       end)
                timer:start()
        else
                log:warn("Watchdog timer is disabled")

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to