some fixes

This commit is contained in:
ocoursiere
2004-09-02 17:59:15 +00:00
parent c5ae526c20
commit 7b48ea076d
3 changed files with 20 additions and 8 deletions

View File

@@ -49,8 +49,8 @@ type
function BMessenger_Create(AObject : TBeObject) : TCplusObject; cdecl; external BePascalLibName name 'BMessenger_Create';
function BMessenger_Create_1(AObject : TBeObject; mime_sig : PChar; team : Team_id; var err : Status_t) : TCplusObject; cdecl; external BePascalLibName name 'BMessenger_Create_1';
function BMessenger_Create_2(AObject : TBeObject; handler : BHandler; looper : BLooper; var err : Status_t) : TCplusObject; cdecl; external BePascalLibName name 'BMessenger_Create_2';
function BMessenger_Create_3(AObject : TBeObject; from : BMessenger) : TCplusObject; cdecl; external BePascalLibName name 'BMessenger_Create_3';
function BMessenger_Create_2(AObject : TBeObject; handler : TCplusObject; looper : TCplusObject; var err : Status_t) : TCplusObject; cdecl; external BePascalLibName name 'BMessenger_Create_2';
function BMessenger_Create_3(AObject : TBeObject; from : TCplusObject) : TCplusObject; cdecl; external BePascalLibName name 'BMessenger_Create_3';
procedure BMessenger_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BMessenger_Free';
function BMessenger_IsTargetLocal(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BMessenger_IsTargetLocal';
function BMessenger_Target(AObject : TCPlusObject; looper : TCplusObject) : BHandler; cdecl; external BePascalLibName name 'BMessenger_Target';
@@ -96,7 +96,15 @@ end;
constructor BMessenger.Create(handler : BHandler; looper : BLooper; var err : Status_t);
begin
CPlusObject := BMessenger_Create_2(Self, handler, looper, err);
if Assigned(handler) and Assigned(looper) then
CPlusObject := BMessenger_Create_2(Self, handler.CPlusObject,
looper.CPlusObject, err)
else if Assigned(handler) and not(Assigned(looper)) then
CPlusObject := BMessenger_Create_2(Self, handler.CPlusObject,
nil, err)
else if not(Assigned(handler)) and Assigned(looper) then
CPlusObject := BMessenger_Create_2(Self, nil, looper.CPlusObject,
err)
end;
constructor BMessenger.Create(from : BMessenger);

View File

@@ -45,9 +45,11 @@ type
BBitmap = class(BArchivable)
private
public
// OCO B_MAIN_SCREEN_ID is a record. It is not possible to assign a record
// as a default value in fpc 1.9.5.
constructor Create(_bounds : BRect; flags : Longword; depth : color_space;
bytesPerRow_ : Longint {$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif};
screenID : screen_id {$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif});
bytesPerRow_ : Longint (*{$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif}*);
screenID : screen_id (*{$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif}*));
constructor Create(_bounds : BRect; depth : color_space;
accepts_views : Boolean {$ifndef VER1_0}= false{$endif};
need_contiguous : Boolean {$ifndef VER1_0}= false{$endif});

View File

@@ -455,9 +455,11 @@ type
BBitmap = class(BArchivable)
private
public
// OCO B_MAIN_SCREEN_ID is a record. It is not possible to assign a record
// as a default value in fpc 1.9.5.
constructor Create(_bounds : BRect; flags : Longword; depth : color_space;
bytesPerRow_ : Longint {$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif};
screenID : screen_id {$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif});
bytesPerRow_ : Longint (*{$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif}*);
screenID : screen_id (*{$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif}*));
constructor Create(_bounds : BRect; depth : color_space;
accepts_views : Boolean {$ifndef VER1_0}= false{$endif};
need_contiguous : Boolean {$ifndef VER1_0}= false{$endif});