Browse Source

* more s[0] elimination.

git-svn-id: trunk@35973 -
marco 8 years ago
parent
commit
ebdfaf6b0e
1 changed files with 11 additions and 5 deletions
  1. 11 5
      ide/fpdesk.pas

+ 11 - 5
ide/fpdesk.pas

@@ -369,10 +369,14 @@ var S: PMemoryStream;
     Title: string;
     XDataOfs: word;
     XData: array[0..1024] of byte;
+
 procedure GetData(var B; Size: word);
 begin
-  Move(XData[XDataOfs],B,Size);
-  Inc(XDataOfs,Size);
+  if Size>0 Then
+    Begin
+      Move(XData[XDataOfs],B,Size);
+      Inc(XDataOfs,Size);
+    End;   
 end;
 procedure ProcessWindowInfo;
 var W: PWindow;
@@ -384,6 +388,7 @@ var W: PWindow;
     R: TRect;
     ZZ: byte;
     Z: TRect;
+    Len : Byte;
 begin
   XDataOfs:=0;
   Desktop^.Lock;
@@ -391,8 +396,9 @@ begin
   case WI.HelpCtx of
     hcSourceWindow :
       begin
-        GetData(St[0],1);
-        GetData(St[1],ord(St[0]));
+        GetData(len,1);
+        SetLength(St,Len);
+        GetData(St[1],Len);
         W:=ITryToOpenFile(@WI.Bounds,St,0,0,false,false,true);
         if Assigned(W)=false then
           begin
@@ -579,7 +585,7 @@ begin
         S^.Read(WI,sizeof(WI));
         if S^.Status=stOK then
         begin
-          Title[0]:=chr(WI.TitleLen);
+          SetLength(Title,WI.TitleLen);
           S^.Read(Title[1],WI.TitleLen);
           if WI.ExtraDataSize>0 then
           S^.Read(XData,WI.ExtraDataSize);