mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Fix NPE in CDebugUIUtils.getEditorFilePath() if file does not exist
This commit is contained in:
parent
972006b048
commit
579050d91b
1 changed files with 15 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2000, 2010 QNX Software Systems and others.
|
* Copyright (c) 2000, 2013 QNX Software Systems and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.debug.internal.ui;
|
package org.eclipse.cdt.debug.internal.ui;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import org.eclipse.cdt.debug.core.CDebugUtils;
|
import org.eclipse.cdt.debug.core.CDebugUtils;
|
||||||
|
@ -127,7 +128,7 @@ public class CDebugUIUtils {
|
||||||
static public String getValueText( IValue value ) {
|
static public String getValueText( IValue value ) {
|
||||||
StringBuffer label = new StringBuffer();
|
StringBuffer label = new StringBuffer();
|
||||||
if ( value instanceof ICDebugElementStatus && !((ICDebugElementStatus)value).isOK() ) {
|
if ( value instanceof ICDebugElementStatus && !((ICDebugElementStatus)value).isOK() ) {
|
||||||
label.append( MessageFormat.format( CDebugUIMessages.getString( "CDTDebugModelPresentation.4" ), new String[] { ((ICDebugElementStatus)value).getMessage() } ) ); //$NON-NLS-1$
|
label.append( MessageFormat.format( CDebugUIMessages.getString( "CDTDebugModelPresentation.4" ), (Object[]) new String[] { ((ICDebugElementStatus)value).getMessage() } ) ); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
else if ( value instanceof ICValue ) {
|
else if ( value instanceof ICValue ) {
|
||||||
ICType type = null;
|
ICType type = null;
|
||||||
|
@ -201,7 +202,18 @@ public class CDebugUIUtils {
|
||||||
|
|
||||||
public static String getEditorFilePath( IEditorInput input ) throws CoreException {
|
public static String getEditorFilePath( IEditorInput input ) throws CoreException {
|
||||||
if ( input instanceof IFileEditorInput ) {
|
if ( input instanceof IFileEditorInput ) {
|
||||||
return ((IFileEditorInput)input).getFile().getLocation().toOSString();
|
IPath location = ((IFileEditorInput)input).getFile().getLocation();
|
||||||
|
if (location != null) {
|
||||||
|
return location.toOSString();
|
||||||
|
}
|
||||||
|
URI locationURI = ((IFileEditorInput)input).getFile().getLocationURI();
|
||||||
|
if (locationURI != null) {
|
||||||
|
IPath uriPath = URIUtil.toPath(locationURI);
|
||||||
|
if (uriPath != null) {
|
||||||
|
return uriPath.toOSString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ""; //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
if ( input instanceof IStorageEditorInput ) {
|
if ( input instanceof IStorageEditorInput ) {
|
||||||
return ((IStorageEditorInput)input).getStorage().getFullPath().toOSString();
|
return ((IStorageEditorInput)input).getStorage().getFullPath().toOSString();
|
||||||
|
|
Loading…
Add table
Reference in a new issue