I have one panel that is constantly throwing errors, and the only way to fix it is if I leave the panel enabled when the game starts. What happens is, I go to the menu that will enable the panel for the first time, which throws the follow error twice:
NullReferenceException: Object reference not set to an instance of an object
UISprite.SimpleFill (.BetterList`1 verts, .BetterList`1 uvs, .BetterList`1 cols) (at Assets/NGUI/Scripts/UI/UISprite.cs:561)
UISprite.OnFill (.BetterList`1 verts, .BetterList`1 uvs, .BetterList`1 cols) (at Assets/NGUI/Scripts/UI/UISprite.cs:523)
UIWidget.UpdateGeometry (UnityEngine.Matrix4x4& worldToPanel, Boolean parentMoved, Boolean generateNormals) (at Assets/NGUI/Scripts/Internal/UIWidget.cs:497)
UIPanel.UpdateWidgets () (at Assets/NGUI/Scripts/UI/UIPanel.cs:848)
UIPanel.LateUpdate () (at Assets/NGUI/Scripts/UI/UIPanel.cs:983)
Everything appears fine, and the game continues as normal. However, if I close this menu (which disabled the panel) then reopen it, I am spammed with the following error every frame:
NullReferenceException: Object reference not set to an instance of an object
UIGeometry.WriteToBuffers (.BetterList`1 v, .BetterList`1 u, .BetterList`1 c, .BetterList`1 n, .BetterList`1 t) (at Assets/NGUI/Scripts/Internal/UIGeometry.cs:111)
UIWidget.WriteToBuffers (.BetterList`1 v, .BetterList`1 u, .BetterList`1 c, .BetterList`1 n, .BetterList`1 t) (at Assets/NGUI/Scripts/Internal/UIWidget.cs:525)
UIPanel.Fill (UnityEngine.Material mat) (at Assets/NGUI/Scripts/UI/UIPanel.cs:927)
UIPanel.LateUpdate () (at Assets/NGUI/Scripts/UI/UIPanel.cs:993)
Nothing in the menu VISUALLY appears, however all of the colliders, onHover, onClick, etc commands work perfectly. It's just that nothing will show up. However, leaving the panel and objects enabled from the beginning, then disabling them after launch, will not throw these errors.
This is something I've been trying to trouble shoot for 2 patches that you were blaming on bad updating procedures, but I had followed the instructions. I have also rebuilt this panel 3 times now, each time resulting in the same thing eventually. When I first build the panel, it throws the errors only one per play of the game, but if I exit Unity and restart, the issues above happen.
My guess is you changed something in one of the last 2 or 3 patches that is screwing up how it caches objects if they are disabled. This may have been on purpose or not. Also, I find it weird that only this panel gives me issues, and not any of the others (especially since I've rebuilt the panel over and over).