commit | 45591a0a8b4ec9665de02bc912049cfc8f04bf89 | [log] [tgz] |
---|---|---|
author | Dani Megert <dmegert> | Wed Aug 08 14:42:56 2012 +0200 |
committer | Dani Megert <dmegert> | Wed Aug 08 14:42:56 2012 +0200 |
tree | 8e84b98c817e23b020ef8bcf6b66ceebe8fadf85 | |
parent | d1474ddfea33573ac1aa02439e75e9fb4629bde8 [diff] |
Additional fix for bug 123787: [Patch] Apply Patch error handling for invalid formats
diff --git a/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java b/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java index 05b85ee..f4540e5 100644 --- a/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java +++ b/bundles/org.eclipse.compare.core/src/org/eclipse/compare/internal/core/patch/PatchReader.java
@@ -323,6 +323,12 @@ continue; } break; + case '#': + break; + case 'I': + if (line.indexOf("Index:") == 0) //$NON-NLS-1$ + break; + //$FALL-THROUGH$ default: throw new IOException("Invalid patch"); //$NON-NLS-1$ }
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java index c68ed57..a8bbecc 100644 --- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java +++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/InputPatchPage.java
@@ -251,6 +251,9 @@ * Reads in the patch contents */ public void readInPatch(){ + if (fPatchRead) + return; + WorkspacePatcher patcher= ((PatchWizard) getWizard()).getPatcher(); // Create a reader for the input Reader reader= null; @@ -450,6 +453,7 @@ public void modifyText(ModifyEvent e) { clearErrorMessage(); fShowError= true; + fPatchRead = false; updateWidgetEnablements(); } }); @@ -476,6 +480,7 @@ public void modifyText(ModifyEvent e) { clearErrorMessage(); fShowError = true; + fPatchRead = false; updateWidgetEnablements(); } });