ObjectFields, for Texture2D objects, in a property drawer- does not display consistantly
1. What happened
This Question on Unity answer contains more details about this issue:
http://answers.unity3d.com/questions/1311926/texture2d-in-scriptableobjects-property-drawer-exp.html
(The question got some responses, even from the masterful Bunny83, but alas, no resolution)
Basically, it does not KEEP the selected texture displayed on the screen. Even though the control itself i always displayed, the texture inside it appears and disapears when various mouse events are recieved. A simple EditorGUI.ObjectFiled(....typeof(Texture2d)...) call, inside the object's PropertyDrawer is all I use to display the control. (see TexTestPropertyDrawer.cs for a simple exmple)
2. How we can reproduce it using the example you attached
Open the sample Scene in the attached project, and select either the "TestObject" Or "VerySimpleTestObject". Notice that the inspector does not cosistantly display the selected textures. By moving and clicking around on the sreen, one can make them appear properly, or appear "blank".
I have included in this sample project, 3 types of objects containing Texture2D, to make sure it wasn't a serialization issue, one if a ScriptableObject, and two are serializable objects, containing a Texture2D in a custom class.
3. You can RESOLVE the issue, by addinging a do-nothing-editor class to the system, for any monobehavior containing our customTexture2d-containing object. (remove the remarks in the MonoTextEditor file, or MonoTextureTestEditor file, to see this in work-around in action).