Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2023-07

Compilation failed : PolygonNonZeroWindingRule unknown

6 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Michael Van Canneyt

Hi,

I updated my lazarus today, and the following fails:

procedure TLazCanvas.Polygon(const Points: array of TPoint; Winding: Boolean);
begin
   PolygonNonZeroWindingRule := Winding;
   inherited Polygon(Points);
end;

it does not know PolygonNonZeroWindingRule.

I removed that line, and all compiles, but I suppose this is not the correct fix ?

Michael.

Reply by email

Werner Pamler
to Michael Van Canneyt
Michael Van Canneyt wrote 14 lines
I updated my lazarus today, and the following fails: procedure TLazCanvas.Polygon(const Points: array of TPoint; Winding: Boolean); begin ? PolygonNonZeroWindingRule := Winding; ? inherited Polygon(Points); end; it does not know PolygonNonZeroWindingRule. I removed that line, and all compiles, but I suppose this is not the correct fix ?

Last time there was a complaint about this I checked all combinations I have access to, and it was working. You are talking of Laz/main? In combination with which FPC? And on which OS? Did you try a *clean *rebuild of the Lazarus IDE?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20230728/68d105ec/attachment.htm>

Reply by email

Michael Van Canneyt
to Werner Pamler
Werner Pamler wrote 19 lines
Am 28.07.2023 um 11:37 schrieb Michael Van Canneyt via lazarus: > I updated my lazarus today, and the following fails: > > procedure TLazCanvas.Polygon(const Points: array of TPoint; Winding: > Boolean); > begin > ? PolygonNonZeroWindingRule := Winding; > ? inherited Polygon(Points); > end; > > it does not know PolygonNonZeroWindingRule. > > I removed that line, and all compiles, but I suppose this is not the > correct > fix ? Last time there was a complaint about this I checked all combinations I have access to, and it was working. You are talking of Laz/main? In combination with which FPC? And on which OS? Did you try a *clean *rebuild of the Lazarus IDE?

It is Laz/Main (updated today), FPC 3.2.2 and clean rebuild (I have the option 'clean always' set in the lazarus build config).

Where is this PolygonNonZeroWindingRule supposed to be defined ?

Michael.

Reply by email

Maxim Ganetsky
to Michael Van Canneyt

28.07.2023 16:10, Michael Van Canneyt via lazarus ?????:

Show quoted text 26 lines
On Fri, 28 Jul 2023, Werner Pamler via lazarus wrote: > Am 28.07.2023 um 11:37 schrieb Michael Van Canneyt via lazarus: >> I updated my lazarus today, and the following fails: >> >> procedure TLazCanvas.Polygon(const Points: array of TPoint; Winding: >> Boolean); >> begin >> ? PolygonNonZeroWindingRule := Winding; >> ? inherited Polygon(Points); >> end; >> >> it does not know PolygonNonZeroWindingRule. >> >> I removed that line, and all compiles, but I suppose this is not the >> correct >> fix ? > Last time there was a complaint about this I checked all combinations > I have access to, and it was working. You are talking of Laz/main? In > combination with which FPC? And on which OS? Did you try a *clean > *rebuild of the Lazarus IDE? It is Laz/Main (updated today), FPC 3.2.2 and clean rebuild (I have the option 'clean always' set in the lazarus build config).

Lazarus can be built with FPC 3.2.2 just fine. Our CI ensures this (and it does exactly clean builds which include TLazCanvas too).

Judging from your description, it looks like you use by accident some outdated revision of FPC 3.2.3 or 3.3.1.

Where is this PolygonNonZeroWindingRule supposed to be defined ?
Best regards, Maxim Ganetsky mailto:

Reply by email

Michael Van Canneyt
to Maxim Ganetsky
Maxim Ganetsky wrote 30 lines
28.07.2023 16:10, Michael Van Canneyt via lazarus ?????: > > > On Fri, 28 Jul 2023, Werner Pamler via lazarus wrote: > >> Am 28.07.2023 um 11:37 schrieb Michael Van Canneyt via lazarus: >>> I updated my lazarus today, and the following fails: >>> >>> procedure TLazCanvas.Polygon(const Points: array of TPoint; Winding: >>> Boolean); >>> begin >>> ? PolygonNonZeroWindingRule := Winding; >>> ? inherited Polygon(Points); >>> end; >>> >>> it does not know PolygonNonZeroWindingRule. >>> >>> I removed that line, and all compiles, but I suppose this is not the >>> correct >>> fix ? >> Last time there was a complaint about this I checked all combinations >> I have access to, and it was working. You are talking of Laz/main? In >> combination with which FPC? And on which OS? Did you try a *clean >> *rebuild of the Lazarus IDE? > > It is Laz/Main (updated today), FPC 3.2.2 and clean rebuild (I have > the option 'clean always' set in the lazarus build config). Lazarus can be built with FPC 3.2.2 just fine. Our CI ensures this (and it does exactly clean builds which include TLazCanvas too).

That is why I was so surprised to see the failure...

After some searching, it seems I was using a fixes compiler and didn't notice. Seems my mind wanted to read 3.2.2 instead of the actual 3.2.3 :/

Apologies for the noise.

Michael.

Reply by email

Werner Pamler
to Michael Van Canneyt: It is Laz/Main (updated today), FPC 3.2.2 and clean rebuild (I have the option 'clean…
Michael Van Canneyt wrote
It is Laz/Main (updated today), FPC 3.2.2 and clean rebuild (I have the option 'clean always' set in the lazarus build config).

This is my standard development system. No problem with it.

Where is this PolygonNonZeroWindingRule supposed to be defined ?

For some time this was an addition to TLazCanvas.Polygon in Laz/2.3 and it had a different name which I cannot remember. Then I sent a patch for Polygon fill routines for TFpPixelCanvas which introduced the PolygonNonZeroWindingRule to FP/main (you committed it, https://gitlab.com/freepascal.org/fpc/source/-/issues/40286). I reworked TLazCanvas and removed the no-longer needed, old polygon fill of TLazCanvas in case of too-old FPC. So, there may be some combinations in the history of the Laz and FPC projects where there is a conflict, but there is definitely no conflict within Laz/main/fixes and FPC/main/fixes/3.2.2

Reply by email