[ 
https://issues.apache.org/jira/browse/PIVOT-747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13038050#comment-13038050
 ] 

Andrei Pozolotin commented on PIVOT-747:
----------------------------------------

re: "which correctly traverses the push()/pop() hierarchy, so there shouldn't 
be a problem there. "

well, it does not;

the failure scenario is this:

a) I issue pop() in the "old EDT", while some pivot components 
are still being closed in the "new EDT";

b) this closing results in some pivot event listener trying to unregster some 
pivot component, 
which calls your assert, and it fails, since "new EDT" is no longer "valid" 
according to EventQueue.isDispatchThread();



> pivot & blocking edt
> --------------------
>
>                 Key: PIVOT-747
>                 URL: https://issues.apache.org/jira/browse/PIVOT-747
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk
>    Affects Versions: 2.0
>            Reporter: Andrei Pozolotin
>
> Greg, hello;
> in this thread:
> http://mail-archives.apache.org/mod_mbox/pivot-user/201001.mbox/%3c4b5e581d.2080...@hms.harvard.edu%3E
> your final word is:
> "Sorry, it is not possible"
> but I know that you know that it is possible :-)
> the reason I need this is same as Martin here:
> http://netbeans.org/bugzilla/show_bug.cgi?id=90590
> namely: do some cleanup after shutdown was requested and confirmed:
> org.apache.pivot.wtk.Application
>     public boolean shutdown(boolean optional) throws Exception;
> since you call shutdown(boolean optional) from EDT I need to block it, using 
> this approach:
> http://bugs.sun.com/view_bug.do?bug_id=6424157
> wich "almost works", except you have this check everywhere:
>         Container.assertEventDispatchThread();
> which fails, as described above:
> http://bugs.sun.com/view_bug.do?bug_id=6424157
> due to EventQueue.isDispatchThread() failing on the "T1 vs T1*" distinction
> my request is this:
> do you think you could make 
>         Container.assertEventDispatchThread();
> less pedantic, and allow both "current and past/next" EDT threads to pass 
> which are created during EventQueue push() / pop()
> thanks!
> Andrei

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to