[Lazarus] Beyond Compare finally moved to LCL

Zoë Peterson zoe at scootersoftware.com
Sat Jun 27 16:05:22 CEST 2015

> On Jun 26, 2015, at 2:42 PM, Graeme Geldenhuys <mailinglists at geldenhuys.co.uk> wrote:
> Yes and No. I think there hand was forced. They wrote their own Qt3 for
> CLX, and due to Kylix, was limited to 32-bit only.

Credit where credit's due, the CLX/Qt3 port was originally Andreas Hausladen's.  We did do a lot of work on it, but the public project had died by that point where we could have contributed patches.

> So I think long term support was probably a massive push to move to a more up to date
> compiler.

Gaining 64-bit support was definitively the primary motivator.  There's obviously been a ton of other benefits on the development side too, and it's been our plan to switch for quite a while.  The OS X version just took priority for v4.0 since we could limp along on Kylix.

> Their OSX version which was the first version to use LCL, also
> has a lot of customisations and fixes applied over the stock LCL. They
> ported some of their own Qt3 code to LCL used in BC - all to improve the
> usability under OSX. Then the move from OSX to Linux wasn't straight
> forward either. LCL-Qt was chosen on both platforms to get some
> improvement on consistency. They assured me it wasn't just a matter of a
> recompile. :)

Minor correction: We're using LCL-Carbon on OS X.  When I mentioned reusing our Qt code, I was just referring to on Linux. We have a lot of behavior the VCL/LCL aren't designed for, a ton of custom controls, and extensive platform specific look & feel customizations, all of which involve calls to the widget set or raw APIs.  Consistency between LCL-Carbon and LCL-Qt for default behavior is extremely high by comparison.

AFAIK we've submitted all/most of our LCL changes to the bug tracker, though I'll admit David hasn't been proactive about actually committing them into the official repository.  The big trouble with sharing the rest of our enhancements is that they're in our VCL/LCL(/CLX) abstraction layer. 

Zoë Peterson
Scooter Software

More information about the Lazarus mailing list