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(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_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_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 : BMessenger) : TCplusObject; cdecl; external BePascalLibName name 'BMessenger_Create_3'; 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'; 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_IsTargetLocal(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BMessenger_IsTargetLocal';
function BMessenger_Target(AObject : TCPlusObject; looper : TCplusObject) : BHandler; cdecl; external BePascalLibName name 'BMessenger_Target'; 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); constructor BMessenger.Create(handler : BHandler; looper : BLooper; var err : Status_t);
begin 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; end;
constructor BMessenger.Create(from : BMessenger); constructor BMessenger.Create(from : BMessenger);

View File

@@ -45,9 +45,11 @@ type
BBitmap = class(BArchivable) BBitmap = class(BArchivable)
private private
public 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; constructor Create(_bounds : BRect; flags : Longword; depth : color_space;
bytesPerRow_ : Longint {$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif}; bytesPerRow_ : Longint (*{$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif}*);
screenID : screen_id {$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif}); screenID : screen_id (*{$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif}*));
constructor Create(_bounds : BRect; depth : color_space; constructor Create(_bounds : BRect; depth : color_space;
accepts_views : Boolean {$ifndef VER1_0}= false{$endif}; accepts_views : Boolean {$ifndef VER1_0}= false{$endif};
need_contiguous : Boolean {$ifndef VER1_0}= false{$endif}); need_contiguous : Boolean {$ifndef VER1_0}= false{$endif});
@@ -341,4 +343,4 @@ begin
Result := BBitmap_Perform(CPlusObject, d, arg); Result := BBitmap_Perform(CPlusObject, d, arg);
end; end;
end. end.

View File

@@ -455,9 +455,11 @@ type
BBitmap = class(BArchivable) BBitmap = class(BArchivable)
private private
public 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; constructor Create(_bounds : BRect; flags : Longword; depth : color_space;
bytesPerRow_ : Longint {$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif}; bytesPerRow_ : Longint (*{$ifndef VER1_0}= B_ANY_BYTES_PER_ROW{$endif}*);
screenID : screen_id {$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif}); screenID : screen_id (*{$ifndef VER1_0}= B_MAIN_SCREEN_ID{$endif}*));
constructor Create(_bounds : BRect; depth : color_space; constructor Create(_bounds : BRect; depth : color_space;
accepts_views : Boolean {$ifndef VER1_0}= false{$endif}; accepts_views : Boolean {$ifndef VER1_0}= false{$endif};
need_contiguous : Boolean {$ifndef VER1_0}= false{$endif}); need_contiguous : Boolean {$ifndef VER1_0}= false{$endif});