AdamsLair / duality-companion

A community-developed Duality plugin implementing experimental or commonly requested features.
MIT License
3 stars 5 forks source link

Crash when inspecting GeometrySample.Line in the editor #5

Open mfep opened 7 years ago

mfep commented 7 years ago

Repro Steps

  1. Open the GeometryTest scene
  2. Start the sandbox (in editor mode, there's also an error message, but it doesn't crash the editor)
  3. Select the 'Geometry' GameObject
  4. Expand the GeometrySample Component in the Object Inspector
  5. Try to expand Line -> Editor Crash

Log

[Edit] ERR: An error occurred: TargetInvocationException: Exception has been thrown by the target of an invocation.
            CallStack:
               at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
               at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
               at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
               at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)
               at AdamsLair.WinForms.PropertyEditing.MemberwisePropertyEditor.<>c__DisplayClass29.<CreatePropertyValueGetter>b__28(Object o) in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\MemberwisePropertyEditor.cs:line 433
               at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
               at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
               at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
               at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
               at Duality.Editor.Controls.PropertyEditors.RectPropertyEditor.OnGetValue() in c:\projects\duality\Source\Editor\DualityEditor\Controls\PropertyEditors\RectPropertyEditor.cs:line 33
               at AdamsLair.WinForms.PropertyEditing.PropertyEditor.PerformGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyEditor.cs:line 430
               at AdamsLair.WinForms.PropertyEditing.MemberwisePropertyEditor.OnGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\MemberwisePropertyEditor.cs:line 305
               at AdamsLair.WinForms.PropertyEditing.PropertyEditor.PerformGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyEditor.cs:line 430
               at AdamsLair.WinForms.PropertyEditing.GroupedPropertyEditor.set_Expanded(Boolean value) in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\GroupedPropertyEditor.cs:line 63
               at AdamsLair.WinForms.PropertyEditing.ExpandState.ApplyTo(PropertyEditor mainEditor, Boolean dontCollapse) in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyGrid.cs:line 85
               at Duality.Editor.Plugins.ObjectInspector.ObjectInspector.UpdateSelection(ObjectSelection sel, Category showCat) in c:\projects\duality\Source\Plugins\EditorModules\ObjectInspector\Modules\ObjectInspector.cs:line 163
               at Duality.Editor.Plugins.ObjectInspector.ObjectInspector.GlobalUpdateSelection(Object sender, SelectionChangedEventArgs e) in c:\projects\duality\Source\Plugins\EditorModules\ObjectInspector\Modules\ObjectInspector.cs:line 212
               at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
               at Duality.Editor.DualityEditorApp.OnSelectionChanged(Object sender, Category changedCategoryFallback, SelectionChangeReason changeReson) in c:\projects\duality\Source\Editor\DualityEditor\DualityEditorApp.cs:line 1137
               at Duality.Editor.DualityEditorApp.Scene_Entered(Object sender, EventArgs e) in c:\projects\duality\Source\Editor\DualityEditor\DualityEditorApp.cs:line 1353
               at System.EventHandler.Invoke(Object sender, EventArgs e)
               at Duality.Resources.Scene.OnEntered() in c:\projects\duality\Source\Core\Duality\Resources\Scene.cs:line 270
               at Duality.Resources.Scene.SwitchTo(ContentRef`1 scene, Boolean forceImmediately) in c:\projects\duality\Source\Core\Duality\Resources\Scene.cs:line 164
               at Duality.Editor.Sandbox.Play() in c:\projects\duality\Source\Editor\DualityEditor\Sandbox.cs:line 111
               at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
               at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
               at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
               at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
               at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
               at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
               at System.Windows.Forms.Control.WndProc(Message& m)
               at System.Windows.Forms.ToolStrip.WndProc(Message& m)
               at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
[Core] ERR: TargetInvocationException: Exception has been thrown by the target of an invocation.
            CallStack:
               at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
               at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
               at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
               at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)
               at AdamsLair.WinForms.PropertyEditing.MemberwisePropertyEditor.<>c__DisplayClass29.<CreatePropertyValueGetter>b__28(Object o) in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\MemberwisePropertyEditor.cs:line 433
               at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
               at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
               at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
               at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
               at Duality.Editor.Controls.PropertyEditors.RectPropertyEditor.OnGetValue() in c:\projects\duality\Source\Editor\DualityEditor\Controls\PropertyEditors\RectPropertyEditor.cs:line 33
               at AdamsLair.WinForms.PropertyEditing.PropertyEditor.PerformGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyEditor.cs:line 430
               at AdamsLair.WinForms.PropertyEditing.MemberwisePropertyEditor.OnGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\MemberwisePropertyEditor.cs:line 305
               at AdamsLair.WinForms.PropertyEditing.PropertyEditor.PerformGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyEditor.cs:line 430
               at AdamsLair.WinForms.PropertyEditing.MemberwisePropertyEditor.OnGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\MemberwisePropertyEditor.cs:line 305
               at AdamsLair.WinForms.PropertyEditing.PropertyEditor.PerformGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyEditor.cs:line 430
               at Duality.Editor.Plugins.Base.PropertyEditors.GameObjectOverviewPropertyEditor.OnGetValue() in c:\projects\duality\Source\Plugins\EditorBase\PropertyEditors\GameObjectOverviewPropertyEditor.cs:line 66
               at AdamsLair.WinForms.PropertyEditing.PropertyEditor.PerformGetValue() in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyEditor.cs:line 430
               at AdamsLair.WinForms.PropertyEditing.PropertyGrid.UpdateFromObjects(Int32 scheduleMs) in c:\Stuff\svn\Projects\AdamsLair.WinForms\WinForms\PropertyEditing\PropertyGrid.cs:line 370
               at Duality.Editor.Plugins.ObjectInspector.ObjectInspector.EditorForm_AfterUpdateDualityApp(Object sender, EventArgs e) in c:\projects\duality\Source\Plugins\EditorModules\ObjectInspector\Modules\ObjectInspector.cs:line 175
               at System.EventHandler.Invoke(Object sender, EventArgs e)
               at Duality.Editor.DualityEditorApp.OnUpdatingEngine() in c:\projects\duality\Source\Editor\DualityEditor\DualityEditorApp.cs:line 1115
               at Duality.Editor.DualityEditorApp.Application_Idle(Object sender, EventArgs e) in c:\projects\duality\Source\Editor\DualityEditor\DualityEditorApp.cs:line 1297
               at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
               at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
               at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
               at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
               at Duality.Editor.Program.Main(String[] args) in c:\projects\duality\Source\Editor\DualityEditor\Program.cs:line 127
SirePi commented 7 years ago

the Line2D class throws a NotImplementedException inside the getter for BoundingRectangle.