Attached are two small patches to fix:

1. TFPWriterXPM fails if there are more than 60 or so colours in the palette

2. Warnings when using ReadXMLFile

Colin
diff -uNr trunk/fpcsrc/fcl/xml/xmlread.pp trunk.w/fpcsrc/fcl/xml/xmlread.pp
--- trunk/fpcsrc/fcl/xml/xmlread.pp	2005-10-19 23:04:44.000000000 +0100
+++ trunk.w/fpcsrc/fcl/xml/xmlread.pp	2006-01-08 17:49:48.000000000 +0000
@@ -31,10 +31,10 @@
   EXMLReadError = class(Exception);
 
 
-procedure ReadXMLFile(var ADoc: TXMLDocument; const AFilename: String); overload;
-procedure ReadXMLFile(var ADoc: TXMLDocument; var f: File); overload;
-procedure ReadXMLFile(var ADoc: TXMLDocument; var f: TStream); overload;
-procedure ReadXMLFile(var ADoc: TXMLDocument; var f: TStream; const AFilename: String); overload;
+procedure ReadXMLFile(out ADoc: TXMLDocument; const AFilename: String); overload;
+procedure ReadXMLFile(out ADoc: TXMLDocument; var f: File); overload;
+procedure ReadXMLFile(out ADoc: TXMLDocument; var f: TStream); overload;
+procedure ReadXMLFile(out ADoc: TXMLDocument; var f: TStream; const AFilename: String); overload;
 
 procedure ReadXMLFragment(AParentNode: TDOMNode; const AFilename: String); overload;
 procedure ReadXMLFragment(AParentNode: TDOMNode; var f: File); overload;
@@ -1346,7 +1346,7 @@
 
 
 
-procedure ReadXMLFile(var ADoc: TXMLDocument; var f: File);
+procedure ReadXMLFile(out ADoc: TXMLDocument; var f: File);
 var
   reader: TXMLReader;
   buf: PChar;
@@ -1373,7 +1373,7 @@
   end;
 end;
 
-procedure ReadXMLFile(var ADoc: TXMLDocument; var f: TStream; const AFilename: String);
+procedure ReadXMLFile(out ADoc: TXMLDocument; var f: TStream; const AFilename: String);
 var
   reader: TXMLReader;
   buf: PChar;
@@ -1397,12 +1397,12 @@
   end;
 end;
 
-procedure ReadXMLFile(var ADoc: TXMLDocument; var f: TStream);
+procedure ReadXMLFile(out ADoc: TXMLDocument; var f: TStream);
 begin
   ReadXMLFile(ADoc, f, '<Stream>');
 end;
 
-procedure ReadXMLFile(var ADoc: TXMLDocument; const AFilename: String);
+procedure ReadXMLFile(out ADoc: TXMLDocument; const AFilename: String);
 var
   FileStream: TFileStream;
   MemStream: TMemoryStream;
diff -uNr trunk/fpcsrc/fcl/image/fpwritexpm.pp trunk.w/fpcsrc/fcl/image/fpwritexpm.pp
--- trunk/fpcsrc/fcl/image/fpwritexpm.pp	2005-06-11 09:58:32.000000000 +0100
+++ trunk.w/fpcsrc/fcl/image/fpwritexpm.pp	2006-01-08 18:32:15.000000000 +0000
@@ -85,12 +85,13 @@
       dec (charplace);
       while (r <= e) and (c >= 0) do
         begin
-        if Charplace = 1 then
+        if Charplace > 0 then
           MakeCodes (head+PalChars[r],charplace)
-        else
+        else begin
           p.Add (head+PalChars[r]);
+          dec(c);
+        end;
         inc (r);
-        dec(c);
         end;
     end;
   begin
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to