|Re: [gef-dev] Carbon unsupported platform in Eclipse 3.7|
|Hi Anthony, |
I think it would be reasonable to announce to no longer officially support Carbon, as most of the Mac OS X related issues are actually caused by SWT inconsistencies, and as the SWT team is no longer going to officially support Carbon, we cannot do much about it anyway. I also see the problem that (as far as I know) nobody in the GEF team has a Carbon Mac at hand (I have a Cocoa Mac, which I use for my daily work, so I can investigate all Cocoa related issues but unfortunately not Carbon), so we cannot really investigate most of the problems anyway. I tried to obtain an old Carbon Mac from a working colleague, but unfortunately it got broken today....
I would not go as far as throwing unsupported exceptions in case somebody tries to use GEF 3.7 on Carbon (I would say an "as-is" usage would not harm us), but I think we should resolve the related bugs as WONTFIX and we should not build in any more workarounds for the Carbon platform; actually I think we should also remove all existing ones to get a clean code base again. Probably most of them are related to SWT problems, which have already been fixed in later SWT releases (e.g. the AWT-SWT-bridge related issues), so they may not be needed any more anyway. Maybe there is still a chance of somebody getting a Carbon Mac, so we could investigate which of them are actually still needed to make a decision about that.
Concerning platform specific workarounds as a whole, I think we should try to get rid of them anyway. I have already started to investigate most of the Cocoa related bugs (there are actually not so many; most were related to broken or missing xor painting, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=332872) in the last two weeks. I successfully identified related SWT problems for all that I investigated, and thanks to Scott Kovac of the SWT team, who very quickly fixed all of them (and also implemented xor painting on the SWT Cocoa port), they could actually be resolved without the need for any GEF workarounds. I have also started to investigate the need for the existing Cocoa related workarounds and I already reverted one for GEF 3.7 (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=303659).