pop-os / popsicle

Multiple USB File Flasher
MIT License
654 stars 77 forks source link

fix(gtk): Correctly handle error in FlashRequest::write() #95

Closed ids1024 closed 4 years ago

ids1024 commented 4 years ago

App::connect_ui_events() doesn't try to join the flashing thread until all_tasks_finished is true. So an error in FlashRequest::write() before all destinations are marked finished resulted in an invisible error with the UI showing no progress. This fixes that by setting finished for each destination on error.

To reproduce the issue, run popsicle-gtk as a non-root user.

If the plan is to update Popsicle to using async in the GUI, perhaps this could be handled in a better way as part of that change.