diff --git a/fv/drivers.pas b/fv/drivers.pas index 27c4fe5b02..5873c6e026 100644 --- a/fv/drivers.pas +++ b/fv/drivers.pas @@ -239,7 +239,11 @@ CONST { EVENT RECORD DEFINITION } {---------------------------------------------------------------------------} TYPE - TEvent = PACKED RECORD + TEvent = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD What: Sw_Word; { Event type } Case Sw_Word Of evNothing: (); { ** NO EVENT ** } @@ -1451,7 +1455,10 @@ BEGIN END. { $Log$ - Revision 1.40 2004-11-03 20:33:05 peter + Revision 1.41 2004-11-03 20:51:36 florian + * fixed problems on targets requiring proper alignment + + Revision 1.40 2004/11/03 20:33:05 peter * removed unnecesasry graphfv stuff Revision 1.39 2004/11/02 23:53:19 peter diff --git a/fv/editors.pas b/fv/editors.pas index 1fe6a4bd9d..264dccdf1d 100644 --- a/fv/editors.pas +++ b/fv/editors.pas @@ -331,22 +331,38 @@ const UndoCmds : TCommandSet = ([cmUndo,cmRedo]); TYPE - TFindDialogRec = packed record + TFindDialogRec = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + packed +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + record Find : String[80]; Options : Word; end; - TReplaceDialogRec = packed record + TReplaceDialogRec = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + packed +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + record Find : String[80]; Replace : String[80]; Options : Word; end; - TRightMarginRec = packed record + TRightMarginRec = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + packed +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + record Margin_Position : String[3]; end; - TTabStopRec = packed record + TTabStopRec = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + packed +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + record Tab_String : String [Tab_Stop_Length]; end; diff --git a/fv/histlist.pas b/fv/histlist.pas index 2bb1a033a6..59094c16a2 100644 --- a/fv/histlist.pas +++ b/fv/histlist.pas @@ -156,7 +156,7 @@ PROCEDURE StoreHistory (Var S: TStream); { INITIALIZED DOS/DPMI/WIN/NT/OS2 VARIABLES } {---------------------------------------------------------------------------} CONST - HistorySize: Word = 1024; { Maximum history size } + HistorySize: Word = 64*1024; { Maximum history size } HistoryUsed: LongInt = 0; { History used } HistoryBlock: Pointer = Nil; { Storage block } @@ -172,7 +172,11 @@ CONST { THistRec RECORD DEFINITION } {---------------------------------------------------------------------------} TYPE - THistRec = PACKED RECORD + THistRec = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Zero: byte; { Start marker } Id : byte; { History id } Str : String; { History string } @@ -420,7 +424,10 @@ END. { $Log$ - Revision 1.10 2002-10-17 11:24:16 pierre + Revision 1.11 2004-11-03 20:51:36 florian + * fixed problems on targets requiring proper alignment + + Revision 1.10 2002/10/17 11:24:16 pierre * Clean up the Load/Store routines so they are endian independent Revision 1.9 2002/09/07 15:06:37 peter diff --git a/fv/memory.pas b/fv/memory.pas index 83c62b04e1..5307660a97 100644 --- a/fv/memory.pas +++ b/fv/memory.pas @@ -217,7 +217,11 @@ CONST {---------------------------------------------------------------------------} TYPE PBuffer = ^TBuffer; { Buffer pointer } - TBuffer = PACKED RECORD + TBuffer = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD {$IFDEF PROC_REAL} { REAL MODE DOS CODE } Size : Word; { Buffer size } Master: ^Word; { Master buffer } @@ -232,7 +236,11 @@ TYPE { POINTER TYPE CONVERSION RECORDS } {---------------------------------------------------------------------------} TYPE - PtrRec = PACKED RECORD + PtrRec = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Ofs, Seg: Word; { Pointer to words } END; @@ -242,13 +250,21 @@ TYPE TYPE PCache = ^TCache; { Cache pointer } {$IFDEF PROC_REAL} { REAL MODE DOS CODE } - TCache = PACKED RECORD + TCache = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Size : Word; { Cache size } Master: ^Pointer; { Master cache } Data : RECORD END; { Cache data } END; {$ELSE} { DPMI/WIN/NT/OS2 CODE } - TCache = PACKED RECORD + TCache = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Next : PCache; { Next cache } Master: ^Pointer; { Master cache } Size : Word; { Size of cache } @@ -832,7 +848,10 @@ END. { $Log$ - Revision 1.7 2002-09-22 19:42:22 hajny + Revision 1.8 2004-11-03 20:51:36 florian + * fixed problems on targets requiring proper alignment + + Revision 1.7 2002/09/22 19:42:22 hajny + FPC/2 support added Revision 1.6 2002/09/09 08:04:06 pierre diff --git a/fv/menus.pas b/fv/menus.pas index d12c8412c3..2130ffc9a9 100644 --- a/fv/menus.pas +++ b/fv/menus.pas @@ -119,7 +119,11 @@ TYPE { TMenuItem RECORD } {---------------------------------------------------------------------------} PMenuItem = ^TMenuItem; - TMenuItem = PACKED RECORD + TMenuItem = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Next: PMenuItem; { Next menu item } Name: PString; { Menu item name } Command: Word; { Menu item command } @@ -134,7 +138,11 @@ TYPE {---------------------------------------------------------------------------} { TMenu RECORD } {---------------------------------------------------------------------------} - TMenu = PACKED RECORD + TMenu = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Items: PMenuItem; { Menu item list } Default: PMenuItem; { Default menu } END; @@ -144,7 +152,11 @@ TYPE {---------------------------------------------------------------------------} TYPE PStatusItem = ^TStatusItem; - TStatusItem = PACKED RECORD + TStatusItem = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Next: PStatusItem; { Next status item } Text: PString; { Text of status item } KeyCode: Word; { Keycode of item } @@ -156,7 +168,11 @@ TYPE {---------------------------------------------------------------------------} TYPE PStatusDef = ^TStatusDef; - TStatusDef = PACKED RECORD + TStatusDef = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD Next: PStatusDef; { Next status defined } Min, Max: Word; { Range of item } Items: PStatusItem; { Item list } @@ -1687,7 +1703,10 @@ END; END. { $Log$ - Revision 1.19 2004-11-03 20:33:05 peter + Revision 1.20 2004-11-03 20:51:36 florian + * fixed problems on targets requiring proper alignment + + Revision 1.19 2004/11/03 20:33:05 peter * removed unnecesasry graphfv stuff Revision 1.18 2004/11/03 12:09:08 peter diff --git a/fv/stddlg.pas b/fv/stddlg.pas index 26c94667ac..45947772e6 100644 --- a/fv/stddlg.pas +++ b/fv/stddlg.pas @@ -87,7 +87,11 @@ type { Record used to store directory information by TFileDialog This is a part of Dos.Searchrec for Bp !! } - TSearchRec = packed record + TSearchRec = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + packed +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + record Attr: Longint; Time: Longint; Size: Longint; diff --git a/fv/views.pas b/fv/views.pas index dc59be04ca..314048750d 100644 --- a/fv/views.pas +++ b/fv/views.pas @@ -328,7 +328,11 @@ TYPE {---------------------------------------------------------------------------} TYPE PComplexArea = ^TComplexArea; { Complex area } - TComplexArea = PACKED RECORD + TComplexArea = +{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} + PACKED +{$endif FPC_REQUIRES_PROPER_ALIGNMENT} + RECORD X1, Y1 : Sw_Integer; { Top left corner } X2, Y2 : Sw_Integer; { Lower right corner } NextArea: PComplexArea; { Next area pointer } @@ -5212,7 +5216,10 @@ END. { $Log$ - Revision 1.44 2004-11-03 20:33:05 peter + Revision 1.45 2004-11-03 20:51:36 florian + * fixed problems on targets requiring proper alignment + + Revision 1.44 2004/11/03 20:33:05 peter * removed unnecesasry graphfv stuff Revision 1.43 2004/11/03 12:09:08 peter