Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 345530

Summary: Job-Cascade in AbstractSwingEnvironment
Product: z_Archived Reporter: Matthias Zimmermann <zimmermann>
Component: ScoutAssignee: Project Inbox <scout.core-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Matthias Zimmermann CLA 2011-05-12 03:08:35 EDT
There's an issue when setting busyStatus in AbstractSwingEnvironment.

(1) If status is Busy Scout schedules a job ("double-check") for a IJobChangeEvent that sets the status to Idle if nothing is running anymore. Setting this status is done using SwingUtilities.invokeLater in the Swing thread.
sgeführt.

(2) If for some reason the SwingTread is busy for a long time the following is happening:
* the double-check job is finished but the status is not yet on Idle
* there is a IJobChangeEvent for the double-check job
* new double-check job are created as long as the status cannot be updated from Busy to Idle

There is no reason to create a new double-check jobs for another (terminated) double-check job as this job is only terminated if either some other job is running or the status is set to Idle with an invokelater
Comment 1 Matthias Zimmermann CLA 2011-05-12 03:09:08 EDT
fixed on 7.3.11, #94857
Comment 2 Matthias Zimmermann CLA 2011-06-28 08:38:07 EDT
shipped with eclipse scout 3.7.0