2017-05-23 3 views
0

J'ai une classe Eclipse emploi similaire à ce qui suit:Eclipse emplois restent dans la vue de progression après le retour d'un état OK

public class MyCustomJob extends Job { 
    @Override 
    protected IStatus run(IProgressMonitor monitor) { 
     MyObject.blockingMethod(); 
     return Status.OK_STATUS; 
    } 
} 

Lorsque j'exécute ce travail et il sort correctement, en bas à droite où le La progression est répertoriée tandis qu'elle est en cours d'exécution affiche toujours le nom du travail maintenant terminé, mais sans aucune barre de progression. Lingering Job name

Si je double-clique dans la région où se trouve encore le nom du travail, la vue Progression s'ouvre comme prévu, mais indique que le travail est terminé. Si je clique sur le "x" pour effacer le travail, il disparaît de la vue, mais si je ferme la vue et la rouvre, elle revient tout de suite. Comment puis-je supprimer le nom du travail en bas à droite de l'écran et garantir que si j'efface le travail terminé de la vue de progression qui est en cours de suppression?

+0

Je ne peux pas reproduire ce. Les travaux sont conservés comme ceci uniquement s'ils demandent spécifiquement à être conservés en définissant une propriété (ou en quittant avec une erreur). –

Répondre

0

Vérifiez le chemin de retour pour toute exécution d'interface utilisateur asynchrone pouvant affecter l'état. Changement de:

Platform.getDefault().asyncExec(runnable) 

à

Platform.getDefault().syncExec(runnable) 

résolu ce problème