Ignore:
Timestamp:
Jan 11, 2017, 5:26:09 PM (7 years ago)
Author:
chronos
Message:
  • Fixed: Deallocation of TPVScrollBar structure. Changed to class and added initialization and finalization.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LocalPlayer/Term.pas

    r49 r50  
    34553455  i, j: integer;
    34563456begin
     3457  sb := TPVScrollbar.Create;
    34573458{$IFDEF WINDOWS}{ TODO }
    34583459  Screen.Cursors[crImpDrag] := LoadCursor(HInstance, 'DRAG');
     
    35293530  i: integer;
    35303531begin
    3531   TopBar.free;
    3532   Mini.free;
    3533   Buffer.free;
    3534   Panel.free;
     3532  FreeAndNil(sb);
     3533  FreeAndNil(TopBar);
     3534  FreeAndNil(Mini);
     3535  FreeAndNil(Buffer);
     3536  FreeAndNil(Panel);
    35353537  for i := 0 to nPl - 1 do
    35363538    if AILogo[i] <> nil then
    3537       AILogo[i].free;
     3539      FreeAndNil(AILogo[i]);
    35383540end;
    35393541
     
    41554157end;
    41564158
    4157 function ScrollDCCopy(Canvas: TCanvas; dx: longint; dy: longint; const lprcScroll:TRect; const lprcClip:TRect; hrgnUpdate:HRGN; lprcUpdate: PRect):Boolean;
     4159{$IFDEF LINUX}
     4160// Can't do scrolling of DC under Linux, then fallback into BitBlt.
     4161function ScrollDC(Canvas: TCanvas; dx: longint; dy: longint; const lprcScroll:TRect; const lprcClip:TRect; hrgnUpdate:HRGN; lprcUpdate: PRect):Boolean;
    41584162begin
    41594163  BitBltCanvas(Canvas, lprcScroll.Left + dx, lprcScroll.Top + dy, lprcScroll.Right - lprcScroll.Left, lprcScroll.Bottom - lprcScroll.Top,
    41604164    Canvas, lprcScroll.Left, lprcScroll.Top, SRCCOPY);
    41614165end;
     4166{$ENDIF}
    41624167
    41634168procedure TMainScreen.MainOffscreenPaint;
     
    42124217{$ENDIF}
    42134218{$IFDEF LINUX}
    4214     // Fallback to bitblt
    4215     ScrollDCCopy(offscreen.Canvas, (xwd - xw) * (xxt * 2), (ywd - yw) * yyt,
     4219    ScrollDC(offscreen.Canvas, (xwd - xw) * (xxt * 2), (ywd - yw) * yyt,
    42164220      rec, rec, 0, nil);
    42174221{$ENDIF}
     
    42264230{$ENDIF}
    42274231{$IFDEF LINUX}
    4228         // Fallback to bitblt
    4229         ScrollDCCopy(Canvas, (xwd - xw) * (xxt * 2), (ywd - yw) * yyt,
     4232        ScrollDC(Canvas, (xwd - xw) * (xxt * 2), (ywd - yw) * yyt,
    42304233          rec, rec, 0, nil);
    42314234{$ENDIF}
Note: See TracChangeset for help on using the changeset viewer.