From adcb04c5aff6177006efe51d45779a379ae415e5 Mon Sep 17 00:00:00 2001 From: BoykoAlex Date: Wed, 10 Mar 2021 13:02:27 -0500 Subject: [PATCH] Attempt at fixing Big Sur CMs rendering --- .../tooling/ls/eclipse/commons/STS4LanguageClientImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java index f1a6d06df..e68566789 100644 --- a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java +++ b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageClientImpl.java @@ -57,6 +57,7 @@ import org.eclipse.lsp4j.MarkupKind; import org.eclipse.lsp4j.Range; import org.eclipse.lsp4j.jsonrpc.messages.Either; import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorReference; @@ -255,17 +256,21 @@ public class STS4LanguageClientImpl extends LanguageClientImpl implements STS4La */ final StyledText textWidget = sourceViewer.getTextWidget(); if (textWidget != null && !textWidget.isDisposed()) { - textWidget.getDisplay().timerExec(100, () -> { + textWidget.getDisplay().timerExec(500, () -> { if (!textWidget.isDisposed()) { IRegion visibleRegion = sourceViewer.getVisibleRegion(); int offset = visibleRegion.getOffset(); int length = visibleRegion.getLength(); + textWidget.getParent().layout(true); if (length > 1) { sourceViewer.setVisibleRegion(offset, length - 1); sourceViewer.setVisibleRegion(offset, length); } else { sourceViewer.resetVisibleRegion(); } + Point currentSelection = sourceViewer.getSelectedRange(); + sourceViewer.setSelectedRange(0, 0); + sourceViewer.setSelectedRange(currentSelection.x, currentSelection.y); } }); }