From 8ae9494db34b2719199a3efde0f6506f4c2c453a Mon Sep 17 00:00:00 2001 From: Sean Evoy Date: Tue, 6 Apr 2004 13:42:03 +0000 Subject: [PATCH] Build error reported for new browse functionality. Corrected the "problem" by calling a more explicit version of getShell() --- .../managedbuilder/internal/core/OptionReference.java | 5 ++++- .../ui/properties/BuildOptionListFieldEditor.java | 11 ++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java index 02db8a4ab9e..742bd04eac4 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java @@ -28,7 +28,10 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** - * + * An OptionReference plays two roles in the managed build model. + * It is used to store overridden option values in a toolchain specification at + * the level of a Configuration and it stores user option settings + * between sessions. */ public class OptionReference implements IOption { diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java index 83315b538fe..681949f82bb 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java @@ -54,7 +54,7 @@ public class BuildOptionListFieldEditor extends FieldEditor { // Constants for externalized strings private static final String BROWSE = "BuildPropertyCommon.label.browse"; //$NON-NLS-1$ private int type; - + /** * @param parentShell * @param dialogTitle @@ -81,7 +81,7 @@ public class BuildOptionListFieldEditor extends FieldEditor { String result; switch (type) { case IOption.BROWSE_DIR : - DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.OPEN); + DirectoryDialog dialog = new DirectoryDialog(getParentShell(), SWT.OPEN); currentName = getText().getText(); if(currentName != null && currentName.trim().length() != 0) { dialog.setFilterPath(currentName); @@ -92,7 +92,7 @@ public class BuildOptionListFieldEditor extends FieldEditor { } break; case IOption.BROWSE_FILE: - FileDialog browseDialog = new FileDialog(getShell()); + FileDialog browseDialog = new FileDialog(getParentShell()); currentName = getText().getText(); if (currentName != null && currentName.trim().length() != 0) { browseDialog.setFilterPath(currentName); @@ -478,10 +478,11 @@ public class BuildOptionListFieldEditor extends FieldEditor { // Prompt for value SelectPathInputDialog dialog = new SelectPathInputDialog(getShell(), title, message, initVal, null, browseType); if (dialog.open() == SelectPathInputDialog.OK) { - input = dialog.getValue().trim(); + input = dialog.getValue(); + if (input == null || input.length() == 0) return ""; //$NON-NLS-1$ } - // Convert the value based on the type of input we expect + // Double-quote the spaces in paths (if any) switch (browseType) { case IOption.BROWSE_DIR: case IOption.BROWSE_FILE: