Index: source/blender/windowmanager/intern/wm_operators.c =================================================================== --- source/blender/windowmanager/intern/wm_operators.c (revision 25237) +++ source/blender/windowmanager/intern/wm_operators.c (working copy) @@ -2652,6 +2652,7 @@ /* called on initialize WM_init() */ void wm_operatortype_init(void) { + WM_operatortype_append(WM_OT_redraw); WM_operatortype_append(WM_OT_window_duplicate); WM_operatortype_append(WM_OT_read_homefile); WM_operatortype_append(WM_OT_save_homefile); Index: source/blender/windowmanager/intern/wm.c =================================================================== --- source/blender/windowmanager/intern/wm.c (revision 25237) +++ source/blender/windowmanager/intern/wm.c (working copy) @@ -332,4 +332,22 @@ } } +static void wm_redraw (bContext *C, wmOperator *op) +{ + bContext *nc= CTX_copy(C); + wm_event_do_notifiers(nc); + wm_draw_update(nc); + CTX_free (nc); +} +void WM_OT_redraw(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Redraw"; + ot->idname= "WM_OT_redraw"; + ot->description= "handle notifiers and redraw the screen"; + + /* api callbacks */ + ot->exec= wm_redraw; +} + Index: source/blender/windowmanager/WM_api.h =================================================================== --- source/blender/windowmanager/WM_api.h (revision 25237) +++ source/blender/windowmanager/WM_api.h (working copy) @@ -51,6 +51,7 @@ void WM_init (struct bContext *C); void WM_exit (struct bContext *C); void WM_main (struct bContext *C); +void WM_OT_redraw (struct wmOperatorType *ot); void WM_init_splash (struct bContext *C);