Browse Source

* Set and get full PBufBookmark buffer on get/SetBookmarkData to avoid random
data at the end of the bookmark-buffer, solves bug #8541

git-svn-id: trunk@12775 -

joost 16 years ago
parent
commit
d3c965880f
1 changed files with 2 additions and 2 deletions
  1. 2 2
      packages/fcl-db/src/base/bufdataset.pas

+ 2 - 2
packages/fcl-db/src/base/bufdataset.pas

@@ -1387,7 +1387,7 @@ end;
 
 
 procedure TBufDataset.SetBookmarkData(Buffer: PChar; Data: Pointer);
 procedure TBufDataset.SetBookmarkData(Buffer: PChar; Data: Pointer);
 begin
 begin
-  PBufBookmark(Buffer + FRecordSize)^.BookmarkData := pointer(Data^);
+  PBufBookmark(Buffer + FRecordSize)^ := PBufBookmark(Data)^;
 end;
 end;
 
 
 procedure TBufDataset.SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag);
 procedure TBufDataset.SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag);
@@ -1397,7 +1397,7 @@ end;
 
 
 procedure TBufDataset.GetBookmarkData(Buffer: PChar; Data: Pointer);
 procedure TBufDataset.GetBookmarkData(Buffer: PChar; Data: Pointer);
 begin
 begin
-  pointer(Data^) := PBufBookmark(Buffer + FRecordSize)^.BookmarkData;
+  PBufBookmark(Data)^ := PBufBookmark(Buffer + FRecordSize)^;
 end;
 end;
 
 
 function TBufDataset.GetBookmarkFlag(Buffer: PChar): TBookmarkFlag;
 function TBufDataset.GetBookmarkFlag(Buffer: PChar): TBookmarkFlag;