[Lazarus] QT bindings as defalt (was Release 1.0, part 2)
zeljko
zeljko at holobit.net
Tue Dec 1 08:27:03 CET 2009
On Monday 30 November 2009 18:17, Phil Hess wrote:
> I wish I knew! I really don't have time (or patience) to do more than test
> Orpheus against each widgetset for the stable release of Lazarus.
>
> A couple observations are in order:
>
> (1) Although once in a while I stumble across something in the Orpheus code
> that allows me to fix a problem (as in the expression "Even a blind sow
> occasionally finds an acorn"), in general improvements in Orpheus are due
> to improvements in the LCL and widgetsets. Or in some cases, as happened
> with 0.9.28, Orpheus gets worse over time through no fault of its own.
My fast observations & qt fixes from last night:
1.I've fixed crash in getRegionType function (qt) which happens when someone
create region with negative width or height.
2.Orpheus spinner control (and maybe others) crashed under qt because of
MyMisc.ptInRegion() implementation.
function PtInRegion(RGN: HRGN; X, Y: Integer) : Boolean;
{$IFDEF MSWINDOWS}
begin
Result := Windows.PtInRegion(RGN, X, Y);
{$ELSE}
var
ARect : TRect;
APt : TPoint;
begin
GetRgnBox(RGN, @ARect);
APt.X := X;
APt.Y := Y;
Result := LclIntf.PtInRect(ARect, APt);
{$ENDIF}
end;
Why is it implemented in such way when we have
Result := LCLIntf.ptInRegion(RGN, X, Y);
which doesn't crash orpheus controls under qt even
with buggy(was until last night) TQtRegion constructor.
Anyway, it does not crash anymore.
>
> (2) It's apparent that the LCL and widgetset maintainers never test their
> changes against the CCR packages. The attitude seems to be that package
> maintainers will test daily against SVN and notify of any breaks. Sorry,
> can't do that.
Yes, they do that, but orpheus isn't often used seem so.I'm using virtualtrees
and it work w/o problems. From my observations (eg. ptInRegion()
implementation), some things need to be changed in orpheus , not in
widgetsets or LCL.
zeljko
More information about the Lazarus
mailing list