Bug 178235 [EditorMgmt] DBCS 3.3 - Cannot open file with external program
Product Build#: I20070306 Platform/Version : Windows Vista, 2003, XP Language: T.Chinese Releated Test Case #: ECLIPSE3.3 - M5 OPEN FILES WITH OTHER EDITORS JVM: IBM JRE 5.0 SR1 ===== DEFECT DESCRIPTION ===== From Package Explorer view, we failed to open a java file with external program such as notepad or iexplore. ===== STEPS TO RECREATE ===== 1. From Package Explorer view, select a file, and Open With > Other... from the context menu 2. select External Programs radio button 3. Click Browse.. buttom and select Text File(notepad.exe) program, then click OK 4. The error will display "Unable to open editor, unknown editor ID: <XXX>" ===== EXPECTED RESULT ===== notepad.exe can be specified and the file can be opened
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
} else {
            imageDesc = editorDesc.getImageDescriptor();
        }
        if (imageDesc == null) {
            if (editorDesc.getId().equals(
                    IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID)) {
				imageDesc = registry
                        .getSystemExternalEditorImageDescriptor(getFileResource()
                                .getName());
			}
        }
        return imageDesc;
    }
    /**
     * Creates the menu item for the editor descriptor.
     *
     * @param menu the menu to add the item to
     * @param descriptor the editor descriptor, or null for the system editor
     * @param preferredEditor the descriptor of the preferred editor, or <code>null</code>
     */
    private void createMenuItem(Menu menu, final IEditorDescriptor descriptor,
            final IEditorDescriptor preferredEditor) {
        
        final MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
        boolean isPreferred = preferredEditor != null
                && descriptor.getId().equals(preferredEditor.getId());
        menuItem.setSelection(isPreferred);
        menuItem.setText(descriptor.getLabel());
        Image image = getImage(descriptor);
        if (image != null) {