Hello,  FPC developers' list.

Lazarus crashes with latest fpc (trunk). I found that reason in zstream. TDecompressionStream must reset position of Source stream if Seek is called with Offset = 0 and Origin = soFromBeginning (according to delphi help).

Attached patch fixes that little problem (hope without adding another).


--
Best regards,
Paul Ishenin.
Index: packages/paszlib/src/zstream.pp
===================================================================
--- packages/paszlib/src/zstream.pp     (revision 9334)
+++ packages/paszlib/src/zstream.pp     (working copy)
@@ -300,6 +300,8 @@
 function Tdecompressionstream.seek(offset:longint;origin:word):longint;
 
 begin
+  if (origin = soFromBeginning) and (offset = 0) then
+    Source.Position := 0;
   if ((origin=sofrombeginning) and (offset>=raw_read)) or
      ((origin=sofromcurrent) and (offset>=0)) then
     begin
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to