This line, UnityEditor.EditorUtility.SetDirty(this) is being called from some UILabel object, but I have no idea which one, so I can't tell which UILabel is missing.
This happens when I LoadLevel.AsyncAdditive. Essentially I'm async/additive a scene, and than delete the root of the previous scene.
If I comment out the SetDirty(this) line, things go smoothly and no errors. However, I'm sure that line is there for a reason.
Instead of commenting it out, should I just add a null check?
The Error Message:MissingReferenceException: The object of type 'UILabel' has been destroyed but you are still trying to access it.
Your script should either check
if it
is null or you should not destroy the
object. UIWidget.MarkAsChanged () (at Assets/NGUI/Examples/Scripts/Internal/UIWidget.cs:552)
UILabel.MarkAsChanged () (at Assets/NGUI/Examples/Scripts/UI/UILabel.cs:900)
UnityEngine.Font.InvokeFontTextureRebuildCallback_Internal ()
UnityEngine.Font:RequestCharactersInTexture(String, Int32, FontStyle)
NGUIText:WrapText(Font, String, String&) (at Assets/NGUI/Examples/Scripts/Internal/NGUIText.cs:357)
UILabel:ProcessText(Boolean) (at Assets/NGUI/Examples/Scripts/UI/UILabel.cs:950)
UILabel:ProcessText() (at Assets/NGUI/Examples/Scripts/UI/UILabel.cs:907)
UILabel:ProcessAndRequest() (at Assets/NGUI/Examples/Scripts/UI/UILabel.cs:423)
UILabel:set_trueTypeFont(Font) (at Assets/NGUI/Examples/Scripts/UI/UILabel.cs:191)
UILabel:OnValidate() (at Assets/NGUI/Examples/Scripts/UI/UILabel.cs:449)
The Line comes from UIWidget:public virtual void MarkAsChanged ()
{
mChanged = true;
#if UNITY_EDITOR
UnityEditor.EditorUtility.SetDirty(this);
#endif