瀏覽代碼

--- 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 -

marco 5 年之前
父節點
當前提交
08e9298df4

+ 23 - 8
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

+ 5 - 2
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;

+ 2 - 2
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)

+ 1 - 1
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,

+ 11 - 2
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

+ 1 - 1
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;
 
 {***************************************************************************}

+ 1 - 1
packages/amunits/src/otherlibs/cybergraphics.pas

@@ -29,7 +29,7 @@
 }
 
 UNIT CYBERGRAPHICS;
-
+{$packrecords 2}
 INTERFACE
 USES Exec,agraphics,utility;
 

+ 8 - 11
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;
 
 

+ 4 - 4
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));

+ 1 - 2
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;

+ 1 - 0
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;