+void WM_Invalidate(tWindow *Window)
+{
+ // Don't invalidate twice (speedup)
+ if( !(Window->Flags & WINFLAG_CLEAN) ) return;
+
+ _SysDebug("Invalidating %p");
+
+ // Mark for re-render
+ Window->Flags &= ~WINFLAG_CLEAN;
+
+ // Mark up the tree that a child window has changed
+ while( (Window = Window->Parent) )
+ {
+ _SysDebug("Childclean removed from %p", Window);
+ Window->Flags &= ~WINFLAG_CHILDCLEAN;
+ }
+}
+