Just another idea/ question:
With regards to
http://wiki.lazarus.freepascal.org/Autosize_/_Layout#Why_does_TForm.AutoSize_not_work_when_something_changes.3FI understand why forms autosize only once, and leave it to the application to notify them, if an other autosize is needed.
currently the notification is
form.autosize := false; form.autosize := true;
That means that the property autosize of a Form stays true, if you did set it to true. However once the form actually did autosize, it is no longer true.
IMHO, "form.autosize := true;" should trigger the autosize, and set itself back to false.
More exactly, this should probably apply to all controls if they have parent=nil (since that is the criteria)
Any comments?