Skip to content

What We Know About Progress Dialogs Gui Iterator

russ_hensel edited this page Feb 15, 2026 · 1 revision

Progress dialogs are a problem because the task, which we hope is making progress, easily is busy enough to stop anything from happening on the GUI.

We have several different examples that work around that problem, using one of two major approaches:

  • Use a second thread for the task.
  • Use an iterator ( or similar ) and keep all the work in one thread.

Here are some of the issues:

  • Issues:
    • We usually want to keep the user from kicking off the task a second time before the first has finished.
    • The dialog should continue to update.
    • The task may need references back to the GUI from which it launched, and then it should update.
    • Messing up on any detail may cause failure of the gui, a lockup, or a full out crash.

And here are our implementations:

My approach favorite is: What We Know About Progress Dialogs One Thread.

Clone this wiki locally