I understand wp's concerns. None of my patches add confusion to a potential new CustomDrawn maintainer because it was a factor that I've taken care from the very beginning. You won't see functions or procedures renamed, the Windows and QT code that has been copied and not implemented is still there and so on. So, there is no problem in applying that patch.
Regarding a potential new maintainer for CustomDrawn, it's known that the code contains lots of useless text lines, both code and comments. The very first thing a potential new maintainer will do is to clean up that code and that will take a while. The second thing will be to remove the obsolete code for FPC compatibility. Example, CustomDrawn has bugs related to clipping. In order to fix these bugs lcl/lazcanvas.pas needs to be modified too. LazCanvas uses property ClipRegion: TFPCustomRegion for compatibility with FPC 2.6 and DOESN'T use the GetClipRect routine for newer FPC versions. Regarding the FPC version, lcl/lclversion.pas writes that at least 2.4.2 is required, except for wince which supports fpc 2.2.0+ too. I have doubts a new maintainer will write code to fix the clipping bug taking care of FPC compatibility too(I mean writing code that uses the ClipRegion property). And as you can see, lcl/lazcanvas.pas is not in the customdrawn subdirectory, which means it can't be treated as an pre-alpha code.
https://forum.lazarus.freepascal.org/index.php/topic,63222.0.htmlThose who wait for a new CustomDrawn maintainer should know that it's easier and faster to port an application to msegui or fpgui than to fix the necessary bugs in CustomDrawn.
On the other hand, again I agree with wp that the patches that try to clean up the code won't significantly improve CustomDrawn status. The entire approach has poor results, but not because of me or because of the status of existing CustomDrawn files. Situations like this one were known to appear many years ago when it was proposed to test and use modifications of Fpc and Lazarus, modifications that were not delivered as ordinary diff files. Instead of the common patch/diff applications, a closed source application would have been used. The fact that the application that modifed the files was closed source was considered unacceptable, the benefits being ignored. Now the community uses forks, which at that time was considered something very bad. Also, even linux kernel allows closed source 3rd party addons(drivers). So, even if independent FPC/Lazarus developers would try to make source modifications available to the ordinary Fpc/Lazarus users, those modifications are not easily accessible.
My proposal is to apply the patch as it is, no harm will be done, and I'll try to see if after all these years the community got open to also use closed source software. Adding a new CustomDrawn package in OPM might be another idea.