Project

General

Profile

« Previous | Next » 

Revision 2a62fead

Added by Katja Luther over 6 years ago

avoid widgetIsDisposed exceptions by check of control is disposed

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/e4/PolytomousKeyListEditorE4.java
271 271

  
272 272
	@Focus
273 273
	public void setFocus() {
274
	    if(viewer!=null && viewer.getControl()!=null){
274
	    if(viewer!=null && viewer.getControl()!=null && !viewer.getControl().isDisposed()) {
275 275
	        viewer.getControl().setFocus();
276 276
	    }
277 277
	    if(input!=null){
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/e4/ConceptViewPartE4.java
54 54
        if(activePart==thisPart){
55 55
            return;
56 56
        }
57
        viewer.getControl().setEnabled(true);
57
        if (!viewer.getControl().isDisposed()){
58
            viewer.getControl().setEnabled(true);
59
        }
58 60
        Object partObject = createPartObject(activePart);
59 61

  
60 62
        if (partObject instanceof DetailsPartE4 || partObject instanceof SupplementalDataPartE4
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/graph/e4/ConceptGraphViewE4.java
71 71

  
72 72

  
73 73
		if(partObject instanceof TaxonNameEditorE4){
74
		    viewer.getControl().setEnabled(true);
74
		    if (viewer.getControl() != null && !viewer.getControl().isDisposed()) {
75
                viewer.getControl().setEnabled(true);
76
            }
75 77
		    TaxonEditorInputE4 input = ((TaxonNameEditorE4) partObject).getEditorInput();
76 78
		    showViewer(new StructuredSelection(input), activePart, viewer);
77 79
		}
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
368 368
        if(cdmEntitySession != null) {
369 369
            cdmEntitySession.bind();
370 370
        }
371
        if(viewer!=null) {
371
        if(viewer!=null && !viewer.getControl().isDisposed()) {
372 372
            viewer.getControl().setFocus();
373 373
            selService.setSelection(viewer.getSelection());
374 374
        }
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/FactualDataPartE4.java
130 130
        }
131 131

  
132 132
        if(partObject instanceof IPartContentHasFactualData){
133
            viewer.getControl().setEnabled(true);
133
            if (!viewer.getControl().isDisposed()){
134
                viewer.getControl().setEnabled(true);
135
            }
134 136
            IStructuredSelection structuredSelection = createSelection(selection);
135 137
            if(structuredSelection==null || structuredSelection.isEmpty()){
136 138
                showEmptyPage();
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/e4/MediaViewPartE4.java
88 88
	    }
89 89

  
90 90
	    if(partObject instanceof IPartContentHasMedia && ((IPartContentHasMedia) partObject).canAttachMedia()){
91
	        viewer.getControl().setEnabled(true);
91
	        if (viewer.getControl() != null && !viewer.getControl().isDisposed()) {
92
                viewer.getControl().setEnabled(true);
93
            }
92 94
	        IStructuredSelection structuredSelection = createSelection(selection);
93 95
	        if(structuredSelection==null || structuredSelection.isEmpty()){
94 96
	            showEmptyPage();
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/e4/SearchResultViewE4.java
263 263
		    conversation_internal.bind();
264 264
		}
265 265
		// pass focus to resultViewer
266
		if(resultViewer!=null && resultViewer.getControl()!=null){
266
		if(resultViewer!=null && resultViewer.getControl()!=null && !resultViewer.getControl().isDisposed()){
267 267
		    resultViewer.getControl().setFocus();
268 268
		}
269 269
	}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/DefinedTermEditorE4.java
162 162

  
163 163
	@Focus
164 164
	public void setFocus() {
165
	    if(viewer!=null){
165
	    if(viewer!=null && viewer.getControl() != null && !viewer.getControl().isDisposed()){
166 166
	        viewer.getControl().setFocus();
167 167
	    }
168 168
	    if(conversation!=null){
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractAccountViewPart.java
1 1
/**
2 2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy 
3
* European Distributed Institute of Taxonomy
4 4
* http://www.e-taxonomy.eu
5
* 
5
*
6 6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7 7
* See LICENSE.TXT at the top of this package for the full license terms.
8 8
*/
......
63 63
			viewer.setInput(getInput());
64 64
		}
65 65
	}
66
	
66

  
67 67
	protected TableViewer viewer;
68
	
68

  
69 69
	private IContextListener contextListener;
70
	
70

  
71 71
	/* (non-Javadoc)
72 72
	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
73 73
	 */
......
76 76
	public void createPartControl(Composite parent) {
77 77
		contextListener = new ContextListener();
78 78
		CdmStore.getContextManager().addContextListener(contextListener);
79
		
79

  
80 80
		FillLayout fillLayout = new FillLayout();
81 81
		fillLayout.marginWidth = 0;
82 82
		fillLayout.marginHeight = 0;
83
		fillLayout.type = SWT.VERTICAL;	
83
		fillLayout.type = SWT.VERTICAL;
84 84
		parent.setLayout(fillLayout);
85
		
85

  
86 86
		viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
87 87
				| SWT.V_SCROLL | SWT.FULL_SELECTION);
88
		
88

  
89 89
		getSite().setSelectionProvider(viewer);
90
		
90

  
91 91
		createColumns(viewer);
92
		
92

  
93 93
		MenuManager menuMgr = new MenuManager();
94 94
		menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
95 95
		getSite().registerContextMenu(menuMgr, viewer);
96 96

  
97 97
		Control control = viewer.getControl();
98 98
		Menu menu = menuMgr.createContextMenu(control);
99
		control.setMenu(menu);	
100
		
99
		control.setMenu(menu);
100

  
101 101
		viewer.setContentProvider(new ArrayContentProvider());
102 102
		viewer.setLabelProvider(getLabelProvider());
103
				
103

  
104 104
		if(CdmStore.isActive()){
105 105
			viewer.setInput(getInput());
106 106
		}
107
		
108
		
107

  
108

  
109 109
		this.addListenerObject(new FocusAdapter() {
110 110
			/* (non-Javadoc)
111 111
			 * @see org.eclipse.swt.events.FocusAdapter#focusGained(org.eclipse.swt.events.FocusEvent)
......
114 114
			public void focusGained(FocusEvent e) {
115 115
				super.focusGained(e);
116 116
				getConversationHolder().bind();
117
				viewer.getControl().setFocus();
117
				if (!viewer.getControl().isDisposed()){
118
				    viewer.getControl().setFocus();
119
				}
118 120
			}
119 121
		});
120 122
	}
121
	
123

  
122 124
	/**
123 125
	 * @return
124 126
	 */
......
128 130
	 * @param viewer2
129 131
	 */
130 132
	protected abstract void createColumns(TableViewer viewer);
131
	
133

  
132 134
	/**
133 135
	 * @return the contextListener
134 136
	 */
......
138 140
		}
139 141
		return contextListener;
140 142
	}
141
	
143

  
142 144
	/* (non-Javadoc)
143 145
	 * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
144 146
	 */
......
156 158
			viewer.setInput(getInput());
157 159
			viewer.refresh();
158 160
		}
159
		
161

  
160 162
		return true;
161 163
	}
162 164

  
......
164 166
	 * @return
165 167
	 */
166 168
	public abstract Collection getInput();
167
	
169

  
168 170
	/* (non-Javadoc)
169 171
	 * @see org.eclipse.ui.part.WorkbenchPart#dispose()
170 172
	 */
......
174 176
		super.dispose();
175 177
	}
176 178

  
177
	
179

  
178 180
	@Override
179 181
	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
180 182
		// TODO Auto-generated method stub
181
		
183

  
182 184
	}
183 185

  
184 186
	@Override
......
189 191
	@Override
190 192
	public void createViewer(Composite parent) {
191 193
		// TODO Auto-generated method stub
192
		
194

  
193 195
	}
194 196

  
195 197
	@Override
196 198
	public void changed(Object object) {
197 199
		// do nothing
198 200
	}
199
	
201

  
200 202

  
201 203
	@Override
202 204
	public boolean onComplete() {
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/CdmDataSourceViewPartE4.java
241 241
	/** {@inheritDoc} */
242 242
	@Focus
243 243
	public void setFocus() {
244
		viewer.getControl().setFocus();
244
	    if (viewer.getControl() != null && !viewer.getControl().isDisposed()) {
245
            viewer.getControl().setFocus();
246
        }
245 247
	}
246 248

  
247 249
	//FIXME E4 migrate
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmEditorPartE4.java
128 128
            showEmptyPage();
129 129
            return;
130 130
        }
131
        if (viewer != null && viewer.getControl()!= null && viewer.getInput() != null){
131
        if (viewer != null && viewer.getControl()!= null && viewer.getInput() != null && !viewer.getControl().isDisposed()){
132 132
            viewer.getControl().setEnabled(true);
133 133
        }
134 134

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsPartE4.java
99 99
    @Override
100 100
    protected void showEmptyPage() {
101 101
        super.showEmptyPage();
102
        if(viewer!=null && viewer.getControl()!=null && !viewer.getControl().isDisposed()){
102
        if(viewer!=null && viewer.getControl()!=null && !viewer.getControl().isDisposed() ){
103 103
            ((DetailsViewerE4)viewer).destroySections();
104 104
        }
105 105
    }

Also available in: Unified diff