Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Zarna2011-08-10 08:31:29 +0000
committerTomasz Zarna2011-08-10 08:31:29 +0000
commit7afcc41e16651acb5b8dde36e75b4b4ff324c2a9 (patch)
tree62af2983f90fa1a3ebc6dbb4a5624342bd88c382 /bundles
parentc5fda1560cfe595d59157062a747747e659e608f (diff)
downloadeclipse.platform.team-7afcc41e16651acb5b8dde36e75b4b4ff324c2a9.tar.gz
eclipse.platform.team-7afcc41e16651acb5b8dde36e75b4b4ff324c2a9.tar.xz
eclipse.platform.team-7afcc41e16651acb5b8dde36e75b4b4ff324c2a9.zip
bug 348787: NPE in CompareEditorInput.setDirty in Eclipse 3.7 [ID-MAMS9]
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/CompareEditorInput.java67
1 files changed, 17 insertions, 50 deletions
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/CompareEditorInput.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/CompareEditorInput.java
index 0ded697d6..85a8c5fcf 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/CompareEditorInput.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/CompareEditorInput.java
@@ -194,8 +194,8 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
private String fTitle;
private ListenerList fListenerList= new ListenerList();
private CompareNavigator fNavigator;
- private ContentMergeViewer fLeftDirtyViewer = null;
- private ContentMergeViewer fRightDirtyViewer = null;
+ private boolean fLeftDirty = false;
+ private boolean fRightDirty = false;
private IPropertyChangeListener fDirtyStateListener;
boolean fStructureCompareOnSingleClick= true;
@@ -1038,7 +1038,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
* @noreference This method is not intended to be referenced by clients.
*/
protected boolean isLeftSaveNeeded() {
- return fLeftDirtyViewer != null;
+ return fLeftDirty;
}
/**
@@ -1048,7 +1048,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
* @noreference This method is not intended to be referenced by clients.
*/
protected boolean isRightSaveNeeded() {
- return fRightDirtyViewer != null;
+ return fRightDirty;
}
/**
@@ -1078,18 +1078,9 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
*/
public void setDirty(boolean dirty) {
boolean oldDirty = isSaveNeeded();
- boolean newDirty = dirty;
- if (!newDirty) {
- fLeftDirtyViewer = null;
- fRightDirtyViewer = null;
- } else {
- if (fLeftDirtyViewer == null)
- fLeftDirtyViewer = (ContentMergeViewer) fContentInputPane
- .getViewer();
- if (fRightDirtyViewer == null)
- fRightDirtyViewer = (ContentMergeViewer) fContentInputPane
- .getViewer();
- }
+ fLeftDirty = dirty;
+ fRightDirty = dirty;
+
if (oldDirty != isSaveNeeded()) {
Utilities.firePropertyChange(fListenerList, this, DIRTY_STATE, Boolean.valueOf(oldDirty), Boolean.valueOf(isSaveNeeded()));
}
@@ -1113,15 +1104,8 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
*/
protected void setLeftDirty(boolean dirty) {
boolean oldDirty = isSaveNeeded();
- boolean newDirty = dirty;
- if (!newDirty) {
- fLeftDirtyViewer = null;
- } else {
- if (fLeftDirtyViewer == null)
- fLeftDirtyViewer = (ContentMergeViewer) fContentInputPane
- .getViewer();
+ fLeftDirty = dirty;
- }
if (oldDirty != isSaveNeeded()) {
Utilities.firePropertyChange(fListenerList, this, DIRTY_STATE,
Boolean.valueOf(oldDirty), Boolean.valueOf(isSaveNeeded()));
@@ -1146,14 +1130,8 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
*/
protected void setRightDirty(boolean dirty) {
boolean oldDirty = isSaveNeeded();
- boolean newDirty = dirty;
- if (!newDirty) {
- fRightDirtyViewer = null;
- } else {
- if (fRightDirtyViewer == null)
- fRightDirtyViewer = (ContentMergeViewer) fContentInputPane
- .getViewer();
- }
+ fRightDirty = dirty;
+
if (oldDirty != isSaveNeeded()) {
Utilities.firePropertyChange(fListenerList, this, DIRTY_STATE,
Boolean.valueOf(oldDirty), Boolean.valueOf(isSaveNeeded()));
@@ -1175,24 +1153,13 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
Assert.isNotNull(source);
boolean oldDirty = isSaveNeeded();
ContentMergeViewer cmv = (ContentMergeViewer) source;
- if (dirty) {
- if (cmv.internalIsLeftDirty()) {
- if (fLeftDirtyViewer == null) {
- fLeftDirtyViewer = cmv;
- }
- }
- if (cmv.internalIsRightDirty()) {
- if (fRightDirtyViewer == null) {
- fRightDirtyViewer = cmv;
- }
- }
- } else {
- if (!cmv.internalIsLeftDirty()) {
- fLeftDirtyViewer = null;
- }
- if (!cmv.internalIsRightDirty()) {
- fRightDirtyViewer = null;
- }
+
+ if (dirty == cmv.internalIsLeftDirty()) {
+ fLeftDirty = cmv.internalIsLeftDirty();
+ }
+
+ if (dirty == cmv.internalIsRightDirty()) {
+ fRightDirty = cmv.internalIsRightDirty();
}
boolean newDirty = isSaveNeeded();
if (DEBUG) {

Back to the top