lcl: load TBitmap only from RT_BITMAP resources. Other bitmap types should be loaded from RT_RCDATA since RT_BITMAP stream is not valid

git-svn-id: trunk@42956 -
This commit is contained in:
paul 2013-09-27 02:42:52 +00:00
parent 6ba2d6e372
commit f6f27bf260
3 changed files with 6 additions and 7 deletions

View File

@ -1462,7 +1462,6 @@ type
procedure Assign(Source: TPersistent); override;
procedure Clear; override;
procedure FreeImage; override;
function GetResourceType: TResourceType; override;
function LazarusResourceTypeValid(const ResourceType: string): Boolean; override;
function BitmapHandleAllocated: boolean; override;
function MaskHandleAllocated: boolean; override;
@ -1511,7 +1510,6 @@ type
{ TBitmap }
TBitmap = class(TFPImageBitmap)
private
protected
procedure InitializeReader(AImage: TLazIntfImage; AReader: TFPCustomImageReader); override;
class function GetReaderClass: TFPCustomImageReaderClass; override;
@ -1519,6 +1517,7 @@ type
class function GetSharedImageClass: TSharedRasterImageClass; override;
public
class function GetFileExtensions: string; override;
function GetResourceType: TResourceType; override;
procedure LoadFromStream(AStream: TStream; ASize: Cardinal); override;
end;

View File

@ -113,6 +113,11 @@ begin
Result:='bmp';
end;
function TBitmap.GetResourceType: TResourceType;
begin
Result := RT_BITMAP;
end;
procedure TBitmap.LoadFromStream(AStream: TStream; ASize: Cardinal);
var
S: THeaderStream;

View File

@ -505,9 +505,4 @@ begin
Result := @TSharedCustomBitmap(FSharedImage).FImage.Description;
end;
function TCustomBitmap.GetResourceType: TResourceType;
begin
Result := RT_BITMAP;
end;