Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 321278 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/context/ui/ContextEditorManager.java (-9 / +8 lines)
Lines 52-58 Link Here
52
import org.eclipse.ui.PartInitException;
52
import org.eclipse.ui.PartInitException;
53
import org.eclipse.ui.PlatformUI;
53
import org.eclipse.ui.PlatformUI;
54
import org.eclipse.ui.XMLMemento;
54
import org.eclipse.ui.XMLMemento;
55
import org.eclipse.ui.internal.EditorManager;
56
import org.eclipse.ui.internal.IPreferenceConstants;
55
import org.eclipse.ui.internal.IPreferenceConstants;
57
import org.eclipse.ui.internal.IWorkbenchConstants;
56
import org.eclipse.ui.internal.IWorkbenchConstants;
58
import org.eclipse.ui.internal.Workbench;
57
import org.eclipse.ui.internal.Workbench;
Lines 256-262 Link Here
256
				memento.putInteger(ATTRIBUTE_NUMER, number);
255
				memento.putInteger(ATTRIBUTE_NUMER, number);
257
				memento.putBoolean(ATTRIBUTE_IS_LAUNCHING, window == launchingWindow);
256
				memento.putBoolean(ATTRIBUTE_IS_LAUNCHING, window == launchingWindow);
258
				memento.putBoolean(ATTRIBUTE_IS_ACTIVE, window == activeWindow);
257
				memento.putBoolean(ATTRIBUTE_IS_ACTIVE, window == activeWindow);
259
				((WorkbenchPage) window.getActivePage()).getEditorManager().saveState(memento);
258
				//((WorkbenchPage) window.getActivePage()).getEditorManager().saveState(memento);
260
			}
259
			}
261
			// TODO: avoid storing with preferences due to bloat?
260
			// TODO: avoid storing with preferences due to bloat?
262
			StringWriter writer = new StringWriter();
261
			StringWriter writer = new StringWriter();
Lines 309-315 Link Here
309
	 */
308
	 */
310
	@SuppressWarnings("unchecked")
309
	@SuppressWarnings("unchecked")
311
	private void restoreEditors(WorkbenchPage page, IMemento memento, boolean isActiveWindow) {
310
	private void restoreEditors(WorkbenchPage page, IMemento memento, boolean isActiveWindow) {
312
		EditorManager editorManager = page.getEditorManager();
311
		//EditorManager editorManager = page.getEditorManager();
313
		final ArrayList visibleEditors = new ArrayList(5);
312
		final ArrayList visibleEditors = new ArrayList(5);
314
		final IEditorReference activeEditor[] = new IEditorReference[1];
313
		final IEditorReference activeEditor[] = new IEditorReference[1];
315
		final MultiStatus result = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$
314
		final MultiStatus result = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$
Lines 320-340 Link Here
320
			editorMementoSet.addAll(Arrays.asList(editorMementos));
319
			editorMementoSet.addAll(Arrays.asList(editorMementos));
321
			// HACK: same parts could have different editors
320
			// HACK: same parts could have different editors
322
			Set<String> restoredPartNames = new HashSet<String>();
321
			Set<String> restoredPartNames = new HashSet<String>();
323
			List<IEditorReference> alreadyVisibleEditors = Arrays.asList(editorManager.getEditors());
322
//			List<IEditorReference> alreadyVisibleEditors = Arrays.asList(editorManager.getEditors());
324
			for (IEditorReference editorReference : alreadyVisibleEditors) {
323
//			for (IEditorReference editorReference : alreadyVisibleEditors) {
325
				restoredPartNames.add(editorReference.getPartName());
324
//				restoredPartNames.add(editorReference.getPartName());
326
			}
325
//			}
327
			for (IMemento editorMemento : editorMementoSet) {
326
			for (IMemento editorMemento : editorMementoSet) {
328
				String partName = editorMemento.getString(IWorkbenchConstants.TAG_PART_NAME);
327
				String partName = editorMemento.getString(IWorkbenchConstants.TAG_PART_NAME);
329
				if (!restoredPartNames.contains(partName)) {
328
				if (!restoredPartNames.contains(partName)) {
330
					editorManager.restoreEditorState(editorMemento, visibleEditors, activeEditor, result);
329
					//editorManager.restoreEditorState(editorMemento, visibleEditors, activeEditor, result);
331
				} else {
330
				} else {
332
					restoredPartNames.add(partName);
331
					restoredPartNames.add(partName);
333
				}
332
				}
334
			}
333
			}
335
334
336
			for (int i = 0; i < visibleEditors.size(); i++) {
335
			for (int i = 0; i < visibleEditors.size(); i++) {
337
				editorManager.setVisibleEditor((IEditorReference) visibleEditors.get(i), false);
336
				//editorManager.setVisibleEditor((IEditorReference) visibleEditors.get(i), false);
338
			}
337
			}
339
338
340
			if (activeEditor[0] != null && isActiveWindow) {
339
			if (activeEditor[0] != null && isActiveWindow) {

Return to bug 321278