Good to know that PtInRegion is now part of LclIntf - it wasn't when I ported 
this and there's no way of knowing when new functions are added without 
monitoring closely every commit!

However, the current code works with other widgetsets. Do you know why it 
didn't work with Qt?

I'll look at this tonight.

Thanks for your investigation.

-Phil

----- "zeljko" <[email protected]> wrote:

> 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
> 
> --
> _______________________________________________
> Lazarus mailing list
> [email protected]
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to