eclipse-platform / eclipse.platform.ui

Eclipse Platform
https://projects.eclipse.org/projects/eclipse.platform
Eclipse Public License 2.0
81 stars 189 forks source link

Find/Replace Overlay: overlay is stuck sometimes when resizing panes #2305

Open Wittmaxi opened 2 months ago

Wittmaxi commented 2 months ago

36

possible regression after https://github.com/eclipse-platform/eclipse.platform.ui/pull/2253 @HeikoKlare what do you think?

HeikoKlare commented 2 months ago

For me, this behavior came up after a recent Windows update. I see no difference in this behavior when reverting #2253. Should implicitly be fixed by #2254.

Wittmaxi commented 2 months ago

@HeikoKlare I remember having issues without the PaintListener, which is why I suspected a regression. Let's anyway wait for #2254, otherwise we might be re-doing work

HeikoKlare commented 1 month ago

The reason for this behavior is that the placement update is performed asynchronously, as required by GTK: https://github.com/eclipse-platform/eclipse.platform.ui/blob/1eead54aac4c037be1bbc08870ccf27aa870cfc8/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/findandreplace/overlay/FindReplaceOverlay.java#L198-L199

Making the execution synchronous leads to just-in-time updates of the replacement. We could limit the asynchronous execution to only be performed on GTK, but I am not sure whether the slight improvement for Windows and MacOS is worth an OS-specific implementation.