On completion of a device wipe, the throughput was continuing
to be calculated for a completed wipe which resulted in the
throughput for that particular device to gradually drop over time
to zero if other drives were still
This has now been corrected. Throughput calculation for a given
device is stopped when the particular device has completed its wipe.
During a wipe there is a approximately 1 second delay between
resizing the window and the screen fully updating. This has been
corrected so screen updates and as a consequence key response is
faster. This makes the GUI interface feel smoother and more responsive.
These apply in full screen mode ONLY: i.e ALT-F2, Shredos etc.
1. When selecting a drive using up/down arrow keys
2. During a wipe the screen flashes at one second intervals.
These apply in a terminal window such as konsole, tmux etc.
1. When resizing the terminal there was a flicker.
All these problems have been fixed.
Most of the causes of the flicker was an excessive use of wrefresh() which calls
the wnoutrefresh() and doupdate() functions. This can cause flickering when a
number of calls to wrefresh happen at the same time. It is more appropriate to
replace the wrefresh() with wnoutrefresh(), then at an appropriate time call
doupate() just once. The result is that before doupdate() would have been
called multiple times and now it's called once when required.
fixes#115
Also fixes an issue where program exits when terminal resized but
only after all the wipes have finished. You can now resize the
terminal, before, during and after the wipes have completed and
the windows are now all correctly updated and sized.
Updated version to 0.28-pre-release
Removed unnecessary zero of gui thread pointer.
Created six new functions in gui.c in order to fix the above problem
and reduce existing duplicated code.
Also added a `device_label` field to centralize
the creation of the device label. This fixes the
labels for devices without a serial number, and
makes sure we have the same label format everywhere.