1.01 fixes a race condition indroduced with the 1.00, hopefully...
This patch fixes two workbench related bugs:
- first, adding AppIcons with the workbench.library while the workbench
screen is closed crashes the system. This bug is fixed by opening the
- the OpenWorkBench() call hangs from time to time. Some fixes have been
available from time to time, but none of them seem to attack the bug at
its real roots.
This IS NOT a task priority problem, but a real bug in IPrefs which locks
two semaphores in the wrong order. For details, study the source code
Another remark: This is supposed to be a simple patch, the programming
techiques used here SHOULD NOT be used in a serious application. It uses
some internal intuition details and self modifying code to install the
patch, needed to fix the bug.PLEASE DON'T TRY THIS YOURSELF! The patch
will disable itself if a newer (post V40) workbench.library is available,
you should also remove it as soon as a newer version of IPrefs or SetPatch
gets available! SetPatch 43.6 and IPrefs 40.7 ARE NOT GOOD ENOUGH to
prevent this hang.
The THOR-Software Licence
This License applies to the computer programs known as "PatchWB".
The "Program", below, refers to such program.
The programs and files in this distribution are freely distributable
under the restrictions stated below, but are also Copyright (c)
Distribution of the Program by a commercial organization without written
permission from the author to any third party is prohibited if any payment
is made in connection with such distribution, whether directly
(as in payment for a copy of the Program) or indirectly (as in payment
for some service related to the Program, or payment for some product
or service that includes a copy of the Program "without charge";
these are only examples, and not an exhaustive enumeration of prohibited
activities). However, the following methods of distribution involving
payment shall not in and of themselves be a violation of this restriction:
(i) Posting the Program on a public access information storage and
retrieval service for which a fee is received for retrieving information
(such as an on-line service), provided that the fee is not
content-dependent (i.e., the fee would be the same for retrieving the same
volume of information consisting of random data).
(ii) Distributing the Program on a CD-ROM, provided that the files
containing the Program are reproduced entirely and verbatim on such
CD-ROM, and provided further that all information on such CD-ROM be
redistributable for non-commercial purposes without charge.
Everything in this distribution must be kept together, in original
and unmodified form.
THE PROGRAM IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS NO
WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE ALL FILES CONTAINED IN