Skip to content

Find/replace overlay: does not take focus after detach #2246

@jukzi

Description

@jukzi

on Windows OS:

open an editor
detach it (drag to another screen or "detach" in the tabs context menu)
press strg+f -> opens search
enter "hallo"
-> "hallo" edits the document. it is supposed to be written in the search dialog

After detaaching mutliple times it is sometimes not possible to open Find/replace overlay at all.
Errors found in the error log:

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4922)
	at org.eclipse.swt.SWT.error(SWT.java:4837)
	at org.eclipse.swt.SWT.error(SWT.java:4808)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:500)
	at org.eclipse.swt.widgets.Widget.getDisplay(Widget.java:622)
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay$TargetPartVisibilityHandler.partHidden(FindReplaceOverlay.java:271)

Caused by: org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4922)
	at org.eclipse.swt.SWT.error(SWT.java:4837)
	at org.eclipse.swt.SWT.error(SWT.java:4808)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:500)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:419)
	at org.eclipse.swt.widgets.Control.setBackground(Control.java:3071)
	at org.eclipse.ui.internal.findandreplace.overlay.AccessibleToolBar.setBackground(AccessibleToolBar.java:63)
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.applyOverlayColors(FindReplaceOverlay.java:388)
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.open(FindReplaceOverlay.java:365)

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4922)
	at org.eclipse.swt.SWT.error(SWT.java:4837)
	at org.eclipse.swt.SWT.error(SWT.java:4808)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:500)
	at org.eclipse.swt.widgets.Widget.getDisplay(Widget.java:622)
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.asyncUpdatePlacementAndVisibility(FindReplaceOverlay.java:212)
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.lambda$0(FindReplaceOverlay.java:207)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:247)

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4922)
	at org.eclipse.swt.SWT.error(SWT.java:4837)
	at org.eclipse.swt.SWT.error(SWT.java:4808)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:500)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:419)
	at org.eclipse.swt.widgets.Control.getParent(Control.java:1449)
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.isInvalidTargetShell(FindReplaceOverlay.java:886)
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.lambda$22(FindReplaceOverlay.java:849)

java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Shell.setVisible(boolean)" because the return value of "org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.getShell()" is null
	at org.eclipse.ui.internal.findandreplace.overlay.FindReplaceOverlay.updatePlacementAndVisibility(FindReplaceOverlay.java:844)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions