I have a simple editor script that sets a game object's local position x and y based on an enumeration value set in the inspector. It is happening OnSceneGUI when the value changes. The issue is, if there's a sprite parented to the game object, it doesn't redraw the sprite at its new location. The only way I have found to do that is to click out of Unity and back in, or save the scene.
I have tried SceneView.RepaintAll() and NGUIEditorTools.RepaintSprites() to no avail. This doesn't appear to be a Unity issue either, as primitives (e.g., quads) are redrawn, it's just sprites that are not. Any ideas? Cheers.