It seems that already disposed widgets still get queued in the layout queue.

One solution would be to avoid this in method qx.ui.core.LayoutItem in 
method renderLayout by excplicitly testing against isDisposed and return 
null. This would be by adding the code

     if(this.isDisposed()) {
         return null;
     }

before 
https://github.com/qooxdoo/qooxdoo/blob/master/framework/source/class/qx/ui/core/LayoutItem.js#L443

But the main question is: is it necessary for some reason that 
renderLayout is called "after" dispose is called()?

Regards
Dietrich

Am 04.02.2016 um 09:41 schrieb Dietrich Streifert:
> Hi all,
>
> While writing some tests for my app in testrunner, I stumbled over 
> some exceptions on widget dispose which made the tests fail.
>
> The relevant part of my test is as follows:
>
>       window.close();
>       window.dispose();
>
>       this.assertTrue(window.isDisposed());
>
> Running this test gives the following (again relevant part only) 
> exception:
>
> Error message is:
> TypeError: Cannot read property 'isNativelyFocusable' of null
> Stack trace:
> qx.ui.core.Widget:2883:19
> qx.core.Property:701:27), :3:624
>
> It seems that after disposal the qx queues are still flushing changes 
> to the widget properties and fail if the content element was already 
> removed, thus this.getContentElement() or this.getFocusElement() are 
> returning null.
>
> This behaviour is simply reproducible with the following playground 
> example
>
>     http://tinyurl.com/zynqxop
>
> Please click the button while having the log view open. You'll see the 
> exception occuring. You may need to click on the playgrounds run 
> button again to see the exception appear in the log window.
>
> Im not 100% sure but I think that the tests succeeded in qx 4.1, which 
> means that there must have been some changes in the disposal logic or 
> queue logic since.
>
> Any help or idea would be great.
>
> Regards
> Dietrich
>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to