From 183c0064d7930563bd2d0b6b6fb6735f8cc34c2b Mon Sep 17 00:00:00 2001 From: Tor Norbye Date: Fri, 1 Jun 2012 11:59:35 -0700 Subject: Fix 32527: Menu XML editor "add" button problem on Eclipse 4.2 This adds a workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=381418 Change-Id: I6a68602cd65a8656e4a6f62bf3b181045956136c --- .../adt/internal/editors/ui/tree/NewItemSelectionDialog.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java index d880f3d..385a53a 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java @@ -29,9 +29,11 @@ import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.dialogs.AbstractElementListSelectionDialog; @@ -278,6 +280,15 @@ public class NewItemSelectionDialog extends AbstractElementListSelectionDialog { createFilterText(contents); createFilteredList(contents); + // We don't want the builtin message area label (we use a radio control + // instead), but if we don't create it, Bad Stuff happens on + // Eclipse 3.8 and later (see issue 32527). + Label label = createMessageArea(contents); + if (label != null) { + GridData data = (GridData) label.getLayoutData(); + data.exclude = true; + } + // Initialize the list state. // This must be done after the filtered list as been created. chooseNode(mChosenRootNode); -- cgit v1.1