diff --git a/uppsrc/CtrlLib/Progress.cpp b/uppsrc/CtrlLib/Progress.cpp index 4c646dc3d..18cd88a50 100644 --- a/uppsrc/CtrlLib/Progress.cpp +++ b/uppsrc/CtrlLib/Progress.cpp @@ -178,13 +178,15 @@ void Progress::Create() { Open(owner); else Open(); - SetFocus(); - Show(); - modality.Begin(this); - if(total) Set(pos, total); - Setxt(); - Sync(); - Process(); + if(IsOpen()) { // in some context, e.g. headless skeleton, window does not open - need prevent infinite recursion here + SetFocus(); + Show(); + modality.Begin(this); + if(total) Set(pos, total); + Setxt(); + Sync(); + Process(); + } } void Progress::Process()