Hi again,

Just FYI -- I think I have found a solution to the layout problem I was seeing. 

This might be useful info to anyone else who is using their own ajax layer 
(which they might have implemented before Qx included a bundled transport 
layer).

The layout problem I was seeing seems to be fixed by invoking 
qx.ui.core.Widget.flushGlobalQueues(); immidiately before sending an ajax 
request, and again immidately after recieving an ajax reponse.

To me this implies that the browsers' (tested in both IE 6 and FF 1.5) native 
ajax response handler interupts the thread of processing and can then ask Qx to 
render widgets out of sequence.  Wierd... but it does seem to work so far :)

In anycase, I don't think this is a bug in Qx code (except perhaps that it does 
not guard against this unlikely possibility?)


Simon 





----- Original Message ----
From: Simon Bull <[EMAIL PROTECTED]>
To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
Sent: Friday, 24 November, 2006 2:25:18 PM
Subject: Re: [qooxdoo-devel] qx.ui.form.List layout problem in 0.6.2-pre (r4822)

Hi Andreas,

I have been trying to create an example that demostrates the problem -- however 
it turns out that it is not easy.  I haven't yet been able to create a 
simple/synchronous test case that reproduces the bug.


However, I have meanwhile observed in my application that if I click a widget 
which fetches a new list from the back-end (via ajax) the resulting list is not 
actually drawn until I next move the mouse.  

If I wait a few seconds before moving the mouse (and triggering the rendering 
of the list) I never see the layout problem.  

If I move the mouse constanly after clicking a widget which fetches a new list 
from the back-end (via ajax) I will sometimes see the layout problem.

So it seems as thou if a list is drawn as a result of an asynch response, the 
layout problem can occur - but it doesn't always.


I have tried to follow the qx source code thru to identify the problem.  I can 
get as far as  CanvasLayoutImpl.layoutChild_sizeX which them attempts to call:

        vChild._applyRuntimeWidth(vChild.getBoxWidth());

where vChild is a qx.ui.form.List instance, whose getBoxWidth() returns 431.

However, I can't find the definition of _applyRuntimeWidth() anywhere.  Where 
could it be hiding?


Simon


p.s. I think I will hold off logging a bug until I have confirmed 100% what the 
real problem is.


----- Original Message ----
From: Andreas Ecker <[EMAIL PROTECTED]>
To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net>
Cc: Simon Bull <[EMAIL PROTECTED]>
Sent: Wednesday, 22 November, 2006 7:44:43 PM
Subject: Re: [qooxdoo-devel] qx.ui.form.List layout problem in 0.6.2-pre (r4822)

Hi Simon,

thanks for the reporting this issue. 

Would you be so kind to enter a bug report into bugzilla at
http://bugzilla.qooxdoo.org ? Please attach a test html that is derived
from one of the example/test files so that it can be dropped into the
demo section without modifications.

Thanks,

Andreas


On Sun, 2006-11-19 at 14:51 -0800, Simon Bull wrote:
> Hi All,
> 
> I am having a problem laying out a qx.ui.form.List.  I first noticed it in 
> source version r4343 - but today I updated to r4822 and am having the same 
> problem.
> 
> The problem occurs intermittently when adding qx.ui.form.List of 
> qx.ui.form.ListItems to  a CanvasLayout -- the 2nd area of a 
> qx.ui.splitpane.HorizontalSplitPane.
> 
> It always works fine the first time you add children.  However, if you want 
> to drop the list completely, and replace it with a new list it occassionally 
> (approximately one time in 6 attempts) fails, and you see the following error 
> messages on the console.
> 
> Has anyone else seen this?  Is there are known workaround or a bugfix?
> 
> Thanks,
> 
> Simon
> 
> 
> 
> 040313 ERROR: qx.ui.basic.Terminator[617]: Modification of property "parent" 
> failed with exception: Error - Invalid 040329 WARN:  
> qx.ui.core.ClientDocument[29]: Want to render an invisible child: [object 
> qx.ui.basic.Terminator] -> omitting!
> 040345 ERROR: qx.ui.layout.CanvasLayout[646]: Could not layout child [object 
> qx.ui.form.List] through layout handler: TypeError - 'this._style' is null or 
> not an object (#-2146823281)
> 040360 ERROR: qx.ui.form.List[2945]: Could not layout child [object 
> qx.ui.form.ListItem] through layout handler: TypeError - 'this._style' is 
> null or not an object (#-2146823281)
> 040376 ERROR: qx.ui.form.List[2945]: Could not layout child [object 
> qx.ui.form.ListItem] through layout handler: TypeError - 'this._style' is 
> null or not an object (#-2146823281)
> 040376 ERROR: qx.ui.form.List[2945]: Could not layout child [object 
> qx.ui.form.ListItem] through layout handler: TypeError - 'this._style' is 
> null or not an object (#-2146823281)
> 040376 ERROR: qx.ui.form.ListItem[2950]: Could not layout child [object 
> qx.ui.basic.Image] through layout handler: TypeError - 'this._style' is null 
> or not an object (#-2146823281)
> 040407 ERROR: qx.ui.form.ListItem[2950]: Could not post layout child [object 
> qx.ui.basic.Image]: TypeError - 'null' is null or not an object (#-2146823281)
> 040407 ERROR: qx.ui.form.ListItem[2950]: Could not layout child [object 
> qx.ui.basic.Label] through layout handler: TypeError - 'this._style' is null 
> or not an object (#-2146823281)
> 040407 ERROR: qx.ui.form.ListItem[2950]: Could not post layout child [object 
> qx.ui.basic.Label]: TypeError - 'style' is null or not an object 
> (#-2146823281)
> 040423 ERROR: qx.ui.form.ListItem[2955]: Could not layout child [object 
> qx.ui.basic.Image] through layout handler: TypeError - 'this._style' is null 
> or not an object (#-2146823281)
> 040438 ERROR: qx.ui.form.ListItem[2955]: Could not post layout child [object 
> qx.ui.basic.Image]: TypeError - 'null' is null or not an object (#-2146823281)
> 040438 ERROR: qx.ui.form.ListItem[2955]: Could not layout child [object 
> qx.ui.basic.Label] through layout handler: TypeError - 'this._style' is null 
> or not an object (#-2146823281)
> 040454 ERROR: qx.ui.form.ListItem[2955]: Could not post layout child [object 
> qx.ui.basic.Label]: TypeError - 'style' is null or not an object 
> (#-2146823281)
> 040454 ERROR: qx.ui.form.ListItem[2960]: Could not layout child [object 
> qx.ui.basic.Image] through layout handler: TypeError - 'this._style' is null 
> or not an object (#-2146823281)
> 040485 ERROR: qx.ui.form.ListItem[2960]: Could not post layout child [object 
> qx.ui.basic.Image]: TypeError - 'null' is null or not an object (#-2146823281)
> 040485 ERROR: qx.ui.form.ListItem[2960]: Could not layout child [object 
> qx.ui.basic.Label] through layout handler: TypeError - 'this._style' is null 
> or not an object (#-2146823281)
> 040485 ERROR: qx.ui.form.ListItem[2960]: Could not post layout child [object 
> qx.ui.basic.Label]: TypeError - 'style' is null or not an object 
> (#-2146823281)
> 040501 ERROR: qx.event.handler.EventHandler[28]: Failed to handle mouse 
> event: TypeError - 'getParent()._getTargetNode()' is null or not an object 
> (#-2146823281)



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel




Send instant messages to your online friends http://au.messenger.yahoo.com 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel




Send instant messages to your online friends http://au.messenger.yahoo.com 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to