fixed #15654
diff --git a/bundles/org.eclipse.compare/buildnotes_compare.html b/bundles/org.eclipse.compare/buildnotes_compare.html
index b3b7f94..8c9eace 100644
--- a/bundles/org.eclipse.compare/buildnotes_compare.html
+++ b/bundles/org.eclipse.compare/buildnotes_compare.html
@@ -17,6 +17,7 @@
 Problem reports fixed</h2>
 <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5323">#5323</a>: Compare does not handle correctly conflicts at same location<br>
 <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=26035">#26035</a>: Local history uses wrong character encoding<br>
+<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=15654">#15654</a>: Can't maximize Compare with Local History window<br>
 
 
 <h1>
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java
index 8fa8ba3..1cf21b1 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java
@@ -674,8 +674,10 @@
  	/* (non Javadoc)
  	 * Creates SWT control tree.
  	 */
-	protected synchronized Control createDialogArea(Composite parent) {
+	protected synchronized Control createDialogArea(Composite parent2) {
 		
+		Composite parent= (Composite) super.createDialogArea(parent2);
+
 		getShell().setText(Utilities.getString(fBundle, "title")); //$NON-NLS-1$
 		
 		Splitter vsplitter= new Splitter(parent,  SWT.VERTICAL);
@@ -789,7 +791,7 @@
 		};
 		vsplitter.setWeights(new int[] { 30, 70 });
 				
-		return vsplitter;
+		return parent;
 	}	
 	
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java
index e72b9b8..b21dd11 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java
@@ -168,8 +168,10 @@
 		return selected;
 	}
 				
-	protected synchronized Control createDialogArea(Composite parent) {
+	protected synchronized Control createDialogArea(Composite parent2) {
 		
+		Composite parent= (Composite) super.createDialogArea(parent2);
+
 		getShell().setText(Utilities.getString(fBundle, "title")); //$NON-NLS-1$
 		
 		org.eclipse.compare.Splitter vsplitter= new org.eclipse.compare.Splitter(parent,  SWT.VERTICAL);
@@ -188,7 +190,7 @@
 		);
 		
 		// we need two panes: the left for the elements, the right one for the editions
-		org.eclipse.compare.Splitter hsplitter= new org.eclipse.compare.Splitter(vsplitter,  SWT.HORIZONTAL);
+		Splitter hsplitter= new Splitter(vsplitter,  SWT.HORIZONTAL);
 		
 		Composite c= new Composite(hsplitter, SWT.NONE);
 		GridLayout layout= new GridLayout();
@@ -257,7 +259,7 @@
 		};
 		vsplitter.setWeights(new int[] { 30, 70 });
 				
-		return vsplitter;
+		return parent;
 	}
 	
 	/**
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java
index a1f95a0..521c809 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java
@@ -64,8 +64,10 @@
 	/* (non-Javadoc)
 	 * Method declared on Dialog.
 	 */
-	protected Control createDialogArea(Composite parent) {
+	protected Control createDialogArea(Composite parent2) {
 						
+		Composite parent= (Composite) super.createDialogArea(parent2);
+
 		Control c= fCompareEditorInput.createContents(parent);
 		c.setLayoutData(new GridData(GridData.FILL_BOTH));
 		
@@ -73,7 +75,7 @@
 		shell.setText(fCompareEditorInput.getTitle());
 		shell.setImage(fCompareEditorInput.getTitleImage());
 
-		return c;
+		return parent;
 	}
 		
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java
index 26e5fe3..7832932 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java
@@ -31,7 +31,7 @@
 
 	public ResizableDialog(Shell parent, ResourceBundle bundle) {
 		super(parent);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
+		setShellStyle(getShellStyle() | SWT.RESIZE | SWT.MAX);
 		
 		fBundle= bundle;
 		
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html
index b3b7f94..8c9eace 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html
@@ -17,6 +17,7 @@
 Problem reports fixed</h2>
 <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5323">#5323</a>: Compare does not handle correctly conflicts at same location<br>
 <a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=26035">#26035</a>: Local history uses wrong character encoding<br>
+<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=15654">#15654</a>: Can't maximize Compare with Local History window<br>
 
 
 <h1>
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java
index 8fa8ba3..1cf21b1 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/EditionSelectionDialog.java
@@ -674,8 +674,10 @@
  	/* (non Javadoc)
  	 * Creates SWT control tree.
  	 */
-	protected synchronized Control createDialogArea(Composite parent) {
+	protected synchronized Control createDialogArea(Composite parent2) {
 		
+		Composite parent= (Composite) super.createDialogArea(parent2);
+
 		getShell().setText(Utilities.getString(fBundle, "title")); //$NON-NLS-1$
 		
 		Splitter vsplitter= new Splitter(parent,  SWT.VERTICAL);
@@ -789,7 +791,7 @@
 		};
 		vsplitter.setWeights(new int[] { 30, 70 });
 				
-		return vsplitter;
+		return parent;
 	}	
 	
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java
index e72b9b8..b21dd11 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/AddFromHistoryDialog.java
@@ -168,8 +168,10 @@
 		return selected;
 	}
 				
-	protected synchronized Control createDialogArea(Composite parent) {
+	protected synchronized Control createDialogArea(Composite parent2) {
 		
+		Composite parent= (Composite) super.createDialogArea(parent2);
+
 		getShell().setText(Utilities.getString(fBundle, "title")); //$NON-NLS-1$
 		
 		org.eclipse.compare.Splitter vsplitter= new org.eclipse.compare.Splitter(parent,  SWT.VERTICAL);
@@ -188,7 +190,7 @@
 		);
 		
 		// we need two panes: the left for the elements, the right one for the editions
-		org.eclipse.compare.Splitter hsplitter= new org.eclipse.compare.Splitter(vsplitter,  SWT.HORIZONTAL);
+		Splitter hsplitter= new Splitter(vsplitter,  SWT.HORIZONTAL);
 		
 		Composite c= new Composite(hsplitter, SWT.NONE);
 		GridLayout layout= new GridLayout();
@@ -257,7 +259,7 @@
 		};
 		vsplitter.setWeights(new int[] { 30, 70 });
 				
-		return vsplitter;
+		return parent;
 	}
 	
 	/**
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java
index a1f95a0..521c809 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareDialog.java
@@ -64,8 +64,10 @@
 	/* (non-Javadoc)
 	 * Method declared on Dialog.
 	 */
-	protected Control createDialogArea(Composite parent) {
+	protected Control createDialogArea(Composite parent2) {
 						
+		Composite parent= (Composite) super.createDialogArea(parent2);
+
 		Control c= fCompareEditorInput.createContents(parent);
 		c.setLayoutData(new GridData(GridData.FILL_BOTH));
 		
@@ -73,7 +75,7 @@
 		shell.setText(fCompareEditorInput.getTitle());
 		shell.setImage(fCompareEditorInput.getTitleImage());
 
-		return c;
+		return parent;
 	}
 		
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java
index 26e5fe3..7832932 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/ResizableDialog.java
@@ -31,7 +31,7 @@
 
 	public ResizableDialog(Shell parent, ResourceBundle bundle) {
 		super(parent);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
+		setShellStyle(getShellStyle() | SWT.RESIZE | SWT.MAX);
 		
 		fBundle= bundle;