From 03bb3a25d20122e244187cc00437cf91dfe80651 Mon Sep 17 00:00:00 2001
From: Simon Barner <barner@fortiss.org>
Date: Tue, 12 Jun 2018 15:15:43 +0200
Subject: [PATCH] Multi Page Editor: Prevent icon from disappearing when tab is
 moved

* Add work-around in setFocus() override
* Property change is also issued in WorkbenchPart.setTitleImage()
  (ancestor class)

Issue-Ref: 3433
Issue-Url: https://af3-developer.fortiss.org/issues/3433
Signed-off-by: Simon Barner <barner@fortiss.org>
---
 .../fortiss/tooling/kernel/ui/internal/editor/.ratings   | 2 +-
 .../ui/internal/editor/ExtendableMultiPageEditor.java    | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/.ratings b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/.ratings
index eb78ff56b..e3398d5c0 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/.ratings
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/.ratings
@@ -1,5 +1,5 @@
 ActionBarContributor.java 18d9db3744c5381cca8b6823b5f7bc18183a1cfa GREEN
-ExtendableMultiPageEditor.java 968540e08143a77e8233bb8a7d8af6bd90b6b12e GREEN
+ExtendableMultiPageEditor.java e2907990cfcc5ba4c2fc3d689ab3258e8014c79a YELLOW
 IActionContributingEditor.java 4aa7496d67822de919a8cf0af0ddaafc61bf2919 GREEN
 ModelElementEditorInput.java 7edf3d4955c55ee595fdcd097ce9a7050ff1b383 GREEN
 TutorialStepUIEditor.java 9eadc96c302b5131ff4cc3715777718fa06ec7e8 GREEN
diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/ExtendableMultiPageEditor.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/ExtendableMultiPageEditor.java
index 968540e08..e2907990c 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/ExtendableMultiPageEditor.java
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/editor/ExtendableMultiPageEditor.java
@@ -34,6 +34,7 @@ import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.ISaveablePart;
+import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchPartConstants;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.part.MultiPageEditorPart;
@@ -109,6 +110,14 @@ public class ExtendableMultiPageEditor extends MultiPageEditorPart implements
 		}
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public void setFocus() {
+		super.setFocus();
+		// Workaround to prevent tab icons from disappearing when tabs are reordered
+		firePropertyChange(IWorkbenchPart.PROP_TITLE);
+	}
+
 	/**
 	 * This is called whenever something about the currently edited object
 	 * changes. This is used to update the part name and to close the editor if
-- 
GitLab