patch from bug 26817

git-svn-id: http://svn.freepascal.org/svn/lazarus/trunk@46727 4005530d-fff6-0310-9dd1-cebe43e6787f
Patch from bug 26757

git-svn-id: http://svn.freepascal.org/svn/lazarus/trunk@46728 4005530d-fff6-0310-9dd1-cebe43e6787f
Patch from bug 26753

git-svn-id: http://svn.freepascal.org/svn/lazarus/trunk@46729 4005530d-fff6-0310-9dd1-cebe43e6787f