protected IStatus run(IProgressMonitor monitor) {
Collection<URI> mediaUris = new HashSet<>();
for (UUID uuid : mediaUuids) {
+ if (TermSearchResultComposite.this.isDisposed()){
+ this.cancel();
+ }
Media media = CdmStore.getService(IMediaService.class).load(uuid);
if(media==null){
continue;
// ignore
}
}
- Composite mediaContainer = new Composite(content, SWT.NONE);
- mediaContainer.setLayout(new FillLayout());
- for (Image image : imageBuffer) {
- Composite composite = new Composite(mediaContainer, SWT.NONE);
- composite.addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e) {
- if(image!=null){
- e.gc.setAntialias(SWT.ON);
- e.gc.setInterpolation(SWT.HIGH);
- e.gc.drawImage(image, 0, 0,image.getBounds().width, image.getBounds().height,0, 0, 40, 40);
- e.gc.dispose();
- }
+ try{
+ if (!content.isDisposed()){
+ Composite mediaContainer = new Composite(content, SWT.NONE);
+ mediaContainer.setLayout(new FillLayout());
+ for (Image image : imageBuffer) {
+ Composite composite = new Composite(mediaContainer, SWT.NONE);
+ composite.addPaintListener(new PaintListener() {
+ @Override
+ public void paintControl(PaintEvent e) {
+ if(image!=null){
+ e.gc.setAntialias(SWT.ON);
+ e.gc.setInterpolation(SWT.HIGH);
+ e.gc.drawImage(image, 0, 0,image.getBounds().width, image.getBounds().height,0, 0, 40, 40);
+ e.gc.dispose();
+ }
+ }
+ });
}
- });
+ }
+ }catch(IllegalArgumentException e){
+ System.err.println(e.getStackTrace());
+ }
+ if (!TermSearchResultComposite.this.isDisposed() && !TermSearchResultComposite.this.getParent().isDisposed()){
+ TermSearchResultComposite.this.getParent().layout();
}
-
- TermSearchResultComposite.this.getParent().layout();
});
return Status.OK_STATUS;
}