/* Now clear it so that any callback generated by the actions below can set work again */\r
window->State.WorkMask = 0;\r
\r
+ if (workMask&~GLUT_DISPLAY_WORK) /* Display work is the common case, skip all the below at once */\r
+ {\r
/* This is before the first display callback: call a few callbacks to inform user of window size, position, etc\r
* we know this is before the first display callback of a window as for all windows GLUT_INIT_WORK is set when\r
* they are opened, and work is done before displaying in the mainloop.\r
break;\r
}\r
}\r
+ }\r
+\r
+ if (workMask & GLUT_DISPLAY_WORK)\r
+ {\r
+ if( window->State.Visible )\r
+ fghRedrawWindow ( window );\r
+\r
+ /* Strip out display work that might have ended up on work list now as some of the above genereates callbacks */\r
+ window->State.WorkMask &= ~GLUT_DISPLAY_WORK;\r
+ }\r
}\r
\r