Bug 70576 Eclipse doesn't enforce user to enter the path to the workspace
Problem Description: Eclipse doesn't enforce user to enter the path to the workspace. You may complete the following steps to reproduce this scenario: 1. Launch Eclipse for the first time or delete the current workspace and configurations directory except config.ini file. Workspace Launcher Dialog is displayed. <install location>\eclipse\workspace is initially given in the Workspace field. 2. Hit the Backspace Key to remove the default path from the Workspace filed. The path to the workspace is empty now. 3. Click on OK button. Expected Behavior: Error message is displayed stating that the location of the workspace must be specified. Workspace Launcher Dialog should remain opened until a valid path is given. Actual Behavior: Workspace Launcher Dialog is dismissed and then the Eclipse Workbench is launched. <install location>/eclipse directory is used as the workspace.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
panel.setLayoutData(new GridData(GridData.FILL_BOTH));
        panel.setFont(parent.getFont());
        Label label = new Label(panel, SWT.NONE);
        label.setText(IDEWorkbenchMessages.ChooseWorkspaceDialog_workspaceEntryLabel);
        text = new Combo(panel, SWT.BORDER | SWT.LEAD | SWT.DROP_DOWN);
        text.setFocus();
        text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
                | GridData.FILL_HORIZONTAL));
        setInitialTextValues(text);
        Button browseButton = new Button(panel, SWT.PUSH);
        browseButton.setText(IDEWorkbenchMessages.ChooseWorkspaceDialog_browseLabel);
        setButtonLayoutData(browseButton);
        GridData data = (GridData) browseButton.getLayoutData();
        data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
        browseButton.setLayoutData(data);
        browseButton.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                DirectoryDialog dialog = new DirectoryDialog(getShell());
                dialog.setText(IDEWorkbenchMessages.ChooseWorkspaceDialog_directoryBrowserTitle);
                dialog.setMessage(IDEWorkbenchMessages.ChooseWorkspaceDialog_directoryBrowserMessage);
                dialog.setFilterPath(getInitialBrowsePath());
                String dir = dialog.open();
                if (dir != null)
                    text.setText(dir);
            }
        });
    }
    /**
     * Return a string containing the path that is closest to the current
     * selection in the text widget. This starts with the current value and