diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-01-27 10:05:34 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-01-27 10:05:34 +0000 |
commit | d97013cb176bdda64e85db47d8e61a50e7e8bfb7 (patch) | |
tree | 5014f973d427b75357549dc1fe368f41a0f7ca34 /ScoreConverter/UScores.pas | |
parent | 7870ce72a56d56736550376a15e3469fed3afd5d (diff) | |
download | usdx-d97013cb176bdda64e85db47d8e61a50e7e8bfb7.tar.gz usdx-d97013cb176bdda64e85db47d8e61a50e7e8bfb7.tar.xz usdx-d97013cb176bdda64e85db47d8e61a50e7e8bfb7.zip |
- Added missing "override" for TSongs.destroy().
- Bugfix: Fixed a severe Race-Condition that crashed USDX on startup from time to time.
The race-condition was due to unsuspended thread-creation in the constructor TSongs.create().
If a class is inherited from TThread and calls "inherited create(false)" in its constructor the thread will immediately start its Execute() method, although the overridden constructor is not finished yet and the members may not be initialized (in this case a TList has not been created).
NOTE: If you inherit from TThread always create the thread in suspended mode ("inherited create(true)") and call "Resume()" at the end of the constructor. Don't do this if the class is subject to be overriden, otherwise you may get a race-condition in the child-classes then. In this case it would be better if Resume() was called by the creator of the object.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@805 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'ScoreConverter/UScores.pas')
0 files changed, 0 insertions, 0 deletions