diff --git a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java index 02e8b1e0ac1..22284abac94 100644 --- a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java +++ b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java @@ -43,6 +43,7 @@ import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.forms.editor.FormEditor; import org.eclipse.ui.texteditor.ITextEditor; public class ClipboardCompare extends BaseCompareAction implements IObjectActionDelegate { @@ -88,6 +89,9 @@ private void processComparison(IFile file, Shell parentShell) throws IOException return; } final String selectionContents; + if (editor instanceof FormEditor fromEditor) { + editor = fromEditor.getActiveEditor(); + } if (editor instanceof ITextEditor txtEditor) { ISelection selection = txtEditor.getSelectionProvider().getSelection(); if (selection instanceof ITextSelection textSelection) { diff --git a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java index 638547796a4..065fb97d38a 100644 --- a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java +++ b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java @@ -31,6 +31,7 @@ import org.eclipse.ui.IFileEditorInput; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.forms.editor.FormEditor; import org.eclipse.ui.texteditor.ITextEditor; public class ClipboardReplace extends BaseCompareAction { @@ -42,6 +43,9 @@ protected void run(ISelection selection) { try { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IEditorPart editor = page.getActiveEditor(); + if (editor instanceof FormEditor fromEditor) { + editor = fromEditor.getActiveEditor(); + } IEditorInput input = editor.getEditorInput(); if (input instanceof IFileEditorInput ed) { IFile file2 = ed.getFile();