Project: appceleratorstudio
Issue TISTUD-1507: Error opening the Titanium preferences when the Desktop SDK is incomplete
An attached log to TISTUD-1506 revealed this problem. {code} !ENTRY org.eclipse.jface 4 2 2012-04-10 12:55:28.904\ !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".\ !STACK 0\ java.lang.NullPointerException\ com.appcelerator.titanium.desktop.DesktopSDKEntity.setModules(DesktopSDKEntity.java:54)\ com.appcelerator.titanium.desktop.DesktopSDKEntity.(DesktopSDKEntity.java:39)\ com.appcelerator.titanium.desktop.TitaniumDesktopSDKLocator.initialize(TitaniumDesktopSDKLocator.java:169)\ com.appcelerator.titanium.desktop.TitaniumDesktopSDKLocator.(TitaniumDesktopSDKLocator.java:52)\ com.appcelerator.titanium.ui.preferences.TitaniumSDKDirectoryFieldEditor.doCheckState(TitaniumSDKDirectoryFieldEditor.java:94)\ org.eclipse.jface.preference.StringFieldEditor.checkState(StringFieldEditor.java:193)\ org.eclipse.jface.preference.StringFieldEditor.refreshValidState(StringFieldEditor.java:409)\ org.eclipse.jface.preference.FieldEditor.load(FieldEditor.java:501)\ org.eclipse.jface.preference.FieldEditorPreferencePage.initialize(FieldEditorPreferencePage.java:307)\ org.eclipse.jface.preference.FieldEditorPreferencePage.createContents(FieldEditorPreferencePage.java:233)\ org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:232)\ org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1501)\ org.eclipse.jface.preference.PreferenceDialog$14.run(PreferenceDialog.java:1258)\ org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\ org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\ org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\ org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1252)\ org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:674)\ org.eclipse.jface.preference.PreferenceDialog$10.run(PreferenceDialog.java:708)\ org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)\ org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:704)\ org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:888)\ org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\ org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)\ org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)\ org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:886)\ org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1226)\ org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1251)\ org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:262)\ org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:256)\ org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:433)\ org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)\ org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)\ org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3938)\ org.eclipse.swt.widgets.Display.observerProc(Display.java:3525)\ org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)\ org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4879)\ org.eclipse.swt.widgets.Display.applicationProc(Display.java:5226)\ org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)\ org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)\ org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1092)\ org.eclipse.swt.widgets.Tree.mouseDownSuper(Tree.java:2052)\ org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1084)\ org.eclipse.swt.widgets.Control.mouseDown(Control.java:2528)\ org.eclipse.swt.widgets.Tree.mouseDown(Tree.java:2007)\ org.eclipse.swt.widgets.Display.windowProc(Display.java:5471)\ org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)\ org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)\ org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2095)\ org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2253)\ org.eclipse.swt.widgets.Display.windowProc(Display.java:5535)\ org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)\ org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4989)\ org.eclipse.swt.widgets.Display.applicationProc(Display.java:5138)\ org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)\ org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)\ org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3610)\ org.eclipse.jface.window.Window.runEventLoop(Window.java:825)\ org.eclipse.jface.window.Window.open(Window.java:801)\ org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)\ org.eclipse.ui.internal.handlers.ShowPreferencePageHandler.execute(ShowPreferencePageHandler.java:54)\ org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)\ org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)\ org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:178)\ org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.runCommand(CocoaUIEnhancer.java:393)\ org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.actionProc(CocoaUIEnhancer.java:535)\ org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.actionProc(CocoaUIEnhancer.java:520)\ org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)\ org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4879)\ org.eclipse.swt.widgets.Display.applicationProc(Display.java:5226)\ org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)\ org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:94)\ org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3607)\ org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)\ org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)\ org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)\ org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)\ org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)\ org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)\ org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)\ com.appcelerator.titanium.rcp.IDEApplication.start(IDEApplication.java:125)\ org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)\ org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)\ org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)\ org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)\ org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)\ sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\ sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\ sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\ java.lang.reflect.Method.invoke(Method.java:597)\ org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)\ org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)\ org.eclipse.equinox.launcher.Main.run(Main.java:1410)\ {code}
Story points: 3