@@ -221,20 +221,27 @@ private void FixDuplicateReferences(SerializedProperty stack)
221221
222222 private float DrawItem ( Rect position , SerializedProperty arrayProp , SerializedProperty stackProp , int i )
223223 {
224- var elem = arrayProp . GetArrayElementAtIndex ( i ) ;
225- var obj = elem . GetValue ( ) as StackComponent ;
226- if ( obj != null ) elem . FindPropertyRelative ( "hostComponent" ) . objectReferenceValue = stackProp . serializedObject . targetObject as MonoBehaviour ;
227- var drawer = GetDrawerFor ( obj ? . GetType ( ) ?? typeof ( StackElementDrawer ) ) ;
224+ try
225+ {
226+ var elem = arrayProp . GetArrayElementAtIndex ( i ) ;
227+ var obj = elem . GetValue ( ) as StackComponent ;
228+ if ( obj != null ) elem . FindPropertyRelative ( "hostComponent" ) . objectReferenceValue = stackProp . serializedObject . targetObject as MonoBehaviour ;
229+ var drawer = GetDrawerFor ( obj ? . GetType ( ) ?? typeof ( StackElementDrawer ) ) ;
228230
229- position . height = ItemHeaderHeight ;
231+ position . height = ItemHeaderHeight ;
230232
231- drawer . OnHeaderGUI ( position , i , elem , obj , stackProp , arrayProp ) ;
233+ drawer . OnHeaderGUI ( position , i , elem , obj , stackProp , arrayProp ) ;
232234
233- position . xMin += 2 ;
234- position . xMax -= 2 ;
235- if ( elem . isExpanded && obj != null )
235+ position . xMin += 2 ;
236+ position . xMax -= 2 ;
237+ if ( elem . isExpanded && obj != null )
238+ {
239+ drawer . OnGUI ( ref position , elem , obj , stackProp ) ;
240+ }
241+ }
242+ catch ( Exception e )
236243 {
237- drawer . OnGUI ( ref position , elem , obj , stackProp ) ;
244+ e . LogException ( ) ;
238245 }
239246 return position . yMax ;
240247 }
0 commit comments