Skip to content

Retain a copy of download context for progress bar

Darshit Shah requested to merge gh-8368a98e/102/darnir/fix-progress-output into master

When the screen is scrolled or resized, we often need to redraw the entire progress bar. However, when some threads have completed downloading, this can cause those progress slots to become blank since their contexts were deleted and hence lost. To prevent this, keep a copy of the last context in the slot, so we can access it later for printing the progress bar.

  • libwget/bar.c (_bar_slot_t): New member, last_ctx (wget_bar_deregister): Create a copy of the context just before we deregister. This ensures that we copy the latest data for printing (wget_bar_update): If no context is registered, then try printing the last context available (_bar_print_final): Make the method signature similar to wget_bar_update for consistency

Merge request reports