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() {