Bug 536206 - Improve minimap performance on Mac

Change-Id: I7a40e2166ef460dfc201d3e713adf7f9e2eefb88
Signed-off-by: Till Brychcy <register.eclipse@brychcy.de>
diff --git a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/views/minimap/MinimapWidget.java b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/views/minimap/MinimapWidget.java
index 2fd40a4..8df7e19 100644
--- a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/views/minimap/MinimapWidget.java
+++ b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/views/minimap/MinimapWidget.java
@@ -191,7 +191,7 @@
 			FontData fontDatum = fontData[0];
 
 			scaledFont = new Font(editorFont.getDevice(), fontDatum.getName(),
-					Math.round(fontDatum.getHeight() * getScale()), fontDatum.getStyle());
+					(int) Math.ceil(fontDatum.getHeight() * getScale()), fontDatum.getStyle());
 			fScaledFonts.put(editorFont, scaledFont);
 			return scaledFont;
 		}
@@ -209,7 +209,11 @@
 
 		@Override
 		public void viewportChanged(int verticalOffset) {
-			updateMinimap();
+			fMinimapTextWidget.getDisplay().asyncExec(() -> {
+				if (!fMinimapTextWidget.isDisposed()) {
+					updateMinimap();
+				}
+			});
 		}
 
 		void updateMinimap() {