From 08e9298df44d36aa1944b78894266a08f76e83d9 Mon Sep 17 00:00:00 2001 From: marco Date: Mon, 3 Feb 2020 19:32:16 +0000 Subject: [PATCH] --- Merging r42301 into '.': U packages/fcl-process/src/amicommon/process.inc --- Recording mergeinfo for merge of r42301 into '.': U . --- Merging r42760 into '.': U packages/amunits/src/coreunits/intuition.pas --- Recording mergeinfo for merge of r42760 into '.': G . --- Merging r44045 into '.': U packages/amunits/src/coreunits/amigados.pas --- Recording mergeinfo for merge of r44045 into '.': G . --- Merging r44059 into '.': U packages/arosunits/src/amigados.pas --- Recording mergeinfo for merge of r44059 into '.': G . --- Merging r44102 into '.': G packages/arosunits/src/amigados.pas --- Recording mergeinfo for merge of r44102 into '.': G . --- Merging r44105 into '.': U packages/amunits/src/coreunits/agraphics.pas U packages/amunits/src/coreunits/datatypes.pas U packages/amunits/src/coreunits/exec.pas G packages/amunits/src/coreunits/intuition.pas U packages/amunits/src/coreunits/locale.pas U packages/amunits/src/otherlibs/cybergraphics.pas U packages/morphunits/src/keymap.pas U packages/morphunits/src/mui.pas --- Recording mergeinfo for merge of r44105 into '.': G . # revisions: 42301,42760,44045,44059,44102,44105 git-svn-id: branches/fixes_3_2@44106 - --- packages/amunits/src/coreunits/agraphics.pas | 31 ++++++++++++++----- packages/amunits/src/coreunits/amigados.pas | 7 +++-- packages/amunits/src/coreunits/datatypes.pas | 4 +-- packages/amunits/src/coreunits/exec.pas | 2 +- packages/amunits/src/coreunits/intuition.pas | 13 ++++++-- packages/amunits/src/coreunits/locale.pas | 2 +- .../amunits/src/otherlibs/cybergraphics.pas | 2 +- packages/arosunits/src/amigados.pas | 19 +++++------- .../fcl-process/src/amicommon/process.inc | 8 ++--- packages/morphunits/src/keymap.pas | 3 +- packages/morphunits/src/mui.pas | 1 + 11 files changed, 58 insertions(+), 34 deletions(-) diff --git a/packages/amunits/src/coreunits/agraphics.pas b/packages/amunits/src/coreunits/agraphics.pas index 2cee5c88e4..8c8883bc5c 100644 --- a/packages/amunits/src/coreunits/agraphics.pas +++ b/packages/amunits/src/coreunits/agraphics.pas @@ -371,12 +371,25 @@ type DestData : Longint; } - pCopIns = ^tCopIns; - tCopIns = record - OpCode : smallint; { 0 = move, 1 = wait } - VWaitAddr : smallint; { vertical or horizontal wait position } - HWaitData : smallint; { destination Pointer or data to send } - end; + PCopList = ^TCopList; + + // Copper structures + PCopIns = ^TCopIns; + TCopIns = record + OpCode: smallint; // 0 = move, 1 = wait + case SmallInt of + 0:( + NxtList: PCopList; + ); + 1:( + DestAddr: SmallInt; // destination Pointer + DestData: SmallInt; // data to send + ); + 2:( + VWaitPos: SmallInt; // vertical wait position + HWaitPos: SmallInt; // horizontal wait position + ); + end; { structure of cprlist that points to list that hardware actually executes } @@ -387,7 +400,7 @@ type MaxCount : smallint; { number of long instructions } end; - pCopList = ^tCopList; + tCopList = record Next : pCopList; { next block for this copper list } _CopList : pCopList; { system use } @@ -2183,7 +2196,9 @@ type GfxFlags : WORD; VBCounter : ULONG; HashTableSemaphore : pSignalSemaphore; - HWEmul : Array[0..8] of Pointer; + case boolean of + true: ( ChunkyToPlanarPtr: PLongWord;); // HWEmul[0]; + false: (HWEmul: array[0..8] of PLongWord;); end; const diff --git a/packages/amunits/src/coreunits/amigados.pas b/packages/amunits/src/coreunits/amigados.pas index 6708eb52c0..e3576cbd8c 100644 --- a/packages/amunits/src/coreunits/amigados.pas +++ b/packages/amunits/src/coreunits/amigados.pas @@ -945,7 +945,10 @@ Type dol_AssignName : STRPTR; { name for non-OR-late-binding assign } dol_List : pAssignList; { for multi-directory assigns (regular) } END; - dol_Name : BSTR; { bptr to bcpl name } + ); + 3 : ( + dol_Misc : array[0..23] of byte; + dol_Name : BSTR; { bptr to bcpl name } ); END; @@ -1827,7 +1830,7 @@ END; FUNCTION MKBADDR(adr : POINTER): BPTR; inline; BEGIN - MKBADDR := BPTR( LONGINT(adr) shr 2); + MKBADDR := BPTR( PTRUINT(adr) shr 2); END; FUNCTION AllocDosObjectTags(type_ : ULONG; Const argv : Array of PtrUInt) : POINTER; diff --git a/packages/amunits/src/coreunits/datatypes.pas b/packages/amunits/src/coreunits/datatypes.pas index 62223e2926..4dea89c585 100644 --- a/packages/amunits/src/coreunits/datatypes.pas +++ b/packages/amunits/src/coreunits/datatypes.pas @@ -768,8 +768,8 @@ type compression technique (details to be released later). } ah_Mask: Byte; // (XOR mode only - plane mask where each bit is set =1 if there is data and =0 if not.) - ah_Height: Word; // (XOR mode only - width and height of the area represented - ah_Width: Word; // by the BODY to eliminate unnecessary un-changed data) + ah_Width: Word; // (XOR mode only - width and height of the area represented + ah_Height: Word; // by the BODY to eliminate unnecessary un-changed data) ah_Left: SmallInt; // (XOR mode only - position of rectangular ah_Top: SmallInt; // area representd by the BODY) ah_AbsTime: LongWord; // Timing for a frame relative to the time the first frame was displayed, in jiffies (1/60 sec) diff --git a/packages/amunits/src/coreunits/exec.pas b/packages/amunits/src/coreunits/exec.pas index e822ebe4a6..a4a28ec93e 100644 --- a/packages/amunits/src/coreunits/exec.pas +++ b/packages/amunits/src/coreunits/exec.pas @@ -1074,7 +1074,7 @@ tExecBase = Record { ***** V36 Exec additions start here ************************************* } ex_Pad0 : Word; - ex_Reserved0 : ULONG; + ex_LaunchPoint : ULONG; ex_RamLibPrivate : Pointer; { The next ULONG contains the system "E" clock frequency, diff --git a/packages/amunits/src/coreunits/intuition.pas b/packages/amunits/src/coreunits/intuition.pas index 3c7ba7ee28..fed7dc02f9 100644 --- a/packages/amunits/src/coreunits/intuition.pas +++ b/packages/amunits/src/coreunits/intuition.pas @@ -2378,7 +2378,7 @@ Const { these are the definitions for the printer configurations } FILENAME_SIZE = 30; { Filename size } - + DEVNAME_SIZE = 16; POINTERSIZE = (1 + 16 + 1) * 2; { Size of Pointer data buffer } { These defines are for the default font size. These actually describe the @@ -2469,8 +2469,11 @@ Type { lower nibble = (value for Handshake mode) } LaceWB : Byte; { if workbench is to be interlaced } - WorkName : Array [0..FILENAME_SIZE-1] of Char; + Pad : array[0..11] of Byte; + PrtDevName : array [0..DEVNAME_SIZE-1] of Char; { temp file for printer } + DefaultPrtUnit: Byte; + DefaultSerUnit: Byte; RowSizeChange : Shortint; ColumnSizeChange : Shortint; @@ -4233,6 +4236,7 @@ function CoerceMethodA(Cl: PIClass; Obj: PObject_; Msg: APTR): PtrUInt; function SetSuperAttrsA(Cl: PIClass; Obj: PObject_; Msg : APTR): PtrUInt; function DoMethod(Obj: PObject_; Params: array of PtrUInt): LongWord; inline; +function DoSuperMethod(Cl: PIClass; Obj: PObject_; const Params: array of PtrUInt): PtrUInt; inline; IMPLEMENTATION @@ -4444,6 +4448,11 @@ begin DoSuperMethodA := 0; end; +function DoSuperMethod(Cl: PIClass; Obj: PObject_; const Params: array of PtrUInt): PTrUInt; +begin + DoSuperMethod := DoSuperMethodA(Cl, Obj, @Params); +end; + function CoerceMethodA(Cl: PIClass; Obj: PObject_; Msg: APTR): PtrUInt; begin if Assigned(Cl) and Assigned(Obj) then diff --git a/packages/amunits/src/coreunits/locale.pas b/packages/amunits/src/coreunits/locale.pas index 5b29ac0787..49d03b52db 100644 --- a/packages/amunits/src/coreunits/locale.pas +++ b/packages/amunits/src/coreunits/locale.pas @@ -112,7 +112,7 @@ Type pLocaleBase = ^tLocaleBase; tLocaleBase = record lb_LibNode : tLibrary; - lb_SysPatches : Boolean; { TRUE if locale installed its patches } + lb_SysPatches : WordBool; { TRUE if locale installed its patches } end; {***************************************************************************} diff --git a/packages/amunits/src/otherlibs/cybergraphics.pas b/packages/amunits/src/otherlibs/cybergraphics.pas index 3151207bd6..4c35269e99 100644 --- a/packages/amunits/src/otherlibs/cybergraphics.pas +++ b/packages/amunits/src/otherlibs/cybergraphics.pas @@ -29,7 +29,7 @@ } UNIT CYBERGRAPHICS; - +{$packrecords 2} INTERFACE USES Exec,agraphics,utility; diff --git a/packages/arosunits/src/amigados.pas b/packages/arosunits/src/amigados.pas index 12c8572175..ae475f8ba2 100644 --- a/packages/arosunits/src/amigados.pas +++ b/packages/arosunits/src/amigados.pas @@ -916,19 +916,8 @@ type dol_StackSize, { stacksize to use when starting process } dol_Priority: LongInt; { task priority when starting process } dol_Startup: BPTR; { startup msg: FileSysStartupMsg for disks } -{$ifdef aros} - dol_NoAROS3: array[0..1] of BPTR; -{$else} dol_SegList, { already loaded code for new task } dol_GlobVec: BPTR; { BCPL global vector to use when starting } -{$endif} - dol_Name: BSTR; { bptr to bcpl name } -{$ifdef aros} - {$ifndef AROS_DOS_PACKETS} - dol_Reserved: array[0..5] of IPTR; - dol_AROS: TDosListAROSExt; - {$endif} -{$endif} end; ); 1 :( @@ -945,6 +934,14 @@ type dol_List: PAssignList; { for multi-directory assigns (regular) } end; ); + 3 :( + {$ifdef CPU64} + dol_Misc: array[0..39] of Byte; + {$else} + dol_Misc: array[0..23] of Byte; + {$endif} + dol_Name: BSTR; { bptr to bcpl name } + ); end; diff --git a/packages/fcl-process/src/amicommon/process.inc b/packages/fcl-process/src/amicommon/process.inc index 7a2da86652..b9c92058a6 100644 --- a/packages/fcl-process/src/amicommon/process.inc +++ b/packages/fcl-process/src/amicommon/process.inc @@ -86,14 +86,14 @@ begin begin I := GetNextWordPos (Params); ExecName := Copy (Params, 1, Pred (I)); - Trim (ExecName); + ExecName := Trim (ExecName); Delete (Params, 1, Pred (I)); end else if Copy (FCommandLine, 1, Length (ExecName)) = ExecName then Delete (Params, 1, Succ (Length (ExecName))) else Delete (Params, 1, Pred (GetNextWordPos (Params))); - Trim (Params); + Params := Trim (Params); end else for I := 0 to Pred (Parameters.Count) do @@ -113,12 +113,12 @@ begin GetDir (0, OrigDir); ChDir (FCurrentDirectory); end; - try + try cos := BPTR(0); repeat Inc(UID); TempName := 'T:PrO_'+ HexStr(FindTask(nil)) + '_' + IntToHex(UID,8); - until not FileExists(TempName); + until not FileExists(TempName); //sysdebugln('TProcess start: "' + ExecName + ' ' + Params+'" >' + TempName); cos := AmigaDos.DosOpen(PChar(TempName), MODE_READWRITE); FExitCode := LongInt(amigados.Execute(PChar(ExecName + ' ' + Params), BPTR(0), cos)); diff --git a/packages/morphunits/src/keymap.pas b/packages/morphunits/src/keymap.pas index f93cb1deae..1ae9a241a6 100644 --- a/packages/morphunits/src/keymap.pas +++ b/packages/morphunits/src/keymap.pas @@ -40,16 +40,15 @@ type kn_KeyMap: TKeyMap; end; -{$PACKRECORDS 4} PExtendedKeyMapNode = ^TExtendedKeyMapNode; TExtendedKeyMapNode = record ekn_Node: TNode; ekn_KeyMap: TKeyMap; + pad1: Word; ekn_Seglist: BPTR; ekn_Resident: PResident; ekn_Future0: APTR; // keep 0 for now end; -{$PACKRECORDS 2} // the structure of keymap.resource PKeyMapResource = ^TKeyMapResource; diff --git a/packages/morphunits/src/mui.pas b/packages/morphunits/src/mui.pas index 816d04c4b4..966f6bd9b8 100644 --- a/packages/morphunits/src/mui.pas +++ b/packages/morphunits/src/mui.pas @@ -655,6 +655,7 @@ const mri_Window : PWindow; mri_RastPort : PRastPort; mri_Flags : LongWord; + mri_DummyWasTinyFont: PTextFont; end; pMUI_RenderInfo = ^tMUI_RenderInfo;