소스 검색

Fixes #1061. ComputerLayout scenario does not drawn correctly.

BDisp 4 년 전
부모
커밋
ee0fc06b9a
1개의 변경된 파일7개의 추가작업 그리고 2개의 파일을 삭제
  1. 7 2
      Terminal.Gui/Core/Window.cs

+ 7 - 2
Terminal.Gui/Core/Window.cs

@@ -184,6 +184,7 @@ namespace Terminal.Gui {
 			contentView.Redraw (contentView.Bounds);
 			Driver.Clip = savedClip;
 
+			ClearLayoutNeeded ();
 			ClearNeedsDisplay ();
 			Driver.SetAttribute (ColorScheme.Normal);
 			Driver.DrawWindowFrame (scrRect, padding + 1, padding + 1, padding + 1, padding + 1, border: true, fill: false);
@@ -246,8 +247,12 @@ namespace Terminal.Gui {
 					dragPosition = new Point (nx, ny);
 					LayoutSubviews ();
 					Frame = new Rect (nx, ny, Frame.Width, Frame.Height);
-					X = nx;
-					Y = ny;
+					if (X == null || X is Pos.PosAbsolute) {
+						X = nx;
+					}
+					if (Y == null || Y is Pos.PosAbsolute) {
+						Y = ny;
+					}
 					//System.Diagnostics.Debug.WriteLine ($"nx:{nx},ny:{ny}");
 
 					// FIXED: optimize, only SetNeedsDisplay on the before/after regions.