This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Hi all, I think there is a race condition in the update logic of the property sheet. It reacts well to a node chage, shows up the sheet of the new node and then jumps back to the old node. The problem is caused by the node listners. The listener sets the source node of the event as new node for the sheet. I think that is wrong. The listener should only process events where the event source is the current node of the sheet and skip all others. Here is my example: 1) An object dispatches events asynchronous (a copy of the listener list an the event is scheduled). 2) A node for that object is shown in property sheet. 3) The object is modified on event dispatch thread -> causes an async node update -> property sheet update 4) After that the the selected object (node) is changed (still on event dispatch thread) -> property sheet current node changed -> node listener detached from old node and attached to new node. (but queued async node update from old node still pending) 5) Now queued async node update is processed -> node listener changes current node back to old node (event source) !! event should be skipt !! Regards Florian
Created attachment 89005 [details] A patch that works for me
Thanks for patch. core-main #87ead09ae757
Integrated into 'main-golden', will be available in build *200910140201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/87ead09ae757 User: Tomas Holy <t_h@netbeans.org> Log: #173971: PropertySheet - race condition in update logic