Bug 183596 BiDi3.3: Cannot open a workspace with an Arabic name
Build ID: I20070418-1012 Steps To Reproduce: 1. Install files for Bidi languages to your system (From Settings-->Control Panel-->Regional and Language Options-->Languages, select "Install files for complex script and right-to-left languages) 2. on the same page, under "Text services and input languages" click "Details" and add "Arabic (Egypt)" 3. Also from Regional and Language Options, go to "Regional Options" and set the locale to Arabic (Egypt) 4. Create a new folder on you system and give it any Arabic name 5. Launce eclipse and select the newly-created folder as your workspace. Expected Result: eclipse should start with the new workspace and no problem should occur. Actual Result: eclipse fails to start when the workspace has an Arabic name or Arabic path giving the following error message "Workspace in use or cannot be created". More information: This error did not occur in earlier builds.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
* @param suppressAskAgain
     *            true means the dialog will not have a "don't ask again" button
     * @param centerOnMonitor indicates whether the dialog should be centered on 
     * the monitor or according to it's parent if there is one
     */
    public ChooseWorkspaceDialog(Shell parentShell,
            ChooseWorkspaceData launchData, boolean suppressAskAgain, boolean centerOnMonitor) {
        super(parentShell);
        this.launchData = launchData;
        this.suppressAskAgain = suppressAskAgain;
        this.centerOnMonitor = centerOnMonitor;
    }
    /**
     * Show the dialog to the user (if needed). When this method finishes,
     * #getSelection will return the workspace that should be used (whether it
     * was just selected by the user or some previous default has been used.
     * The parameter can be used to override the users preference.  For example,
     * this is important in cases where the default selection is already in use
     * and the user is forced to choose a different one.
     * 
     * @param force
     *            true if the dialog should be opened regardless of the value of
     *            the show dialog checkbox
     */
    public void prompt(boolean force) {
        if (force || launchData.getShowDialog()) {
            open();
            
            if (getReturnCode() == CANCEL) {
				launchData.workspaceSelected(null);