Author: titmuss
Date: Thu Mar 13 07:40:38 2008
New Revision: 2111

URL: http://svn.slimdevices.com?rev=2111&root=Jive&view=rev
Log:
Bug: 6019
Description:
The window layout was not being correctly calcualated when the help text 
changed, especially when 
events were delivered to objects while rendering the menu. This change repeats 
the window layout 
until all widgets are corectly positioned.


Modified:
    trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c
    trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c

Modified: trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c
URL: 
http://svn.slimdevices.com/trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c?rev=2111&root=Jive&r1=2110&r2=2111&view=diff
==============================================================================
--- trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c (original)
+++ trunk/squeezeplay/src/squeezeplay/src/ui/jive_widget.c Thu Mar 13 07:40:38 
2008
@@ -323,13 +323,13 @@
 
                if (perfwarn.layout) t1 = SDL_GetTicks();
 
+               peer->layout_origin = jive_origin;
+
                /* update the layout */
                if (jive_getmethod(L, 1, "_layout")) {
                        lua_pushvalue(L, 1);
                        lua_call(L, 1, 0);
                }
-
-               peer->layout_origin = jive_origin;
 
                if (perfwarn.layout) {
                        t2 = SDL_GetTicks();
@@ -346,13 +346,13 @@
        }
 
        if (peer->child_origin != jive_origin) {
+               peer->child_origin = jive_origin;
+
                /* layout children */
                jive_getmethod(L, 1, "iterate");
                lua_pushvalue(L, 1);
                lua_pushcfunction(L, jiveL_widget_check_layout);
                lua_call(L, 2, 0);
-
-               peer->child_origin = jive_origin;
        }
 
        return 0;

Modified: trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c
URL: 
http://svn.slimdevices.com/trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c?rev=2111&root=Jive&r1=2110&r2=2111&view=diff
==============================================================================
--- trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c (original)
+++ trunk/squeezeplay/src/squeezeplay/src/ui/jive_window.c Thu Mar 13 07:40:38 
2008
@@ -90,7 +90,7 @@
        }
        lua_pop(L, 1);
 
-       if (peer->w.child_origin != jive_origin) {
+       while (peer->w.child_origin != jive_origin) {
 #if 0
                /* debugging */
                jive_getmethod(L, 1, "dump");

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

Reply via email to