mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
chore(frameview removall): To avoid infitinte loop for removeall
For Frameview, `contentView` is the first and only subview. In case of `RemoveAll`, `contentView` was sent from `View.RemoveAll` to overridden `Remove` function in `FrameView` Hence, `contentView` is trying to remove itself from itself thereby actually not removing any subviews as well `contentView` from `FrameView` parent. And thus the code was going in an infinite loop Added overridden `RemoveAll` which would call `View.RemoveAll` on `contentView` to remove all the subviews from `contentView` but not the `contentView` from `FrameView`. > Fixes: https://github.com/migueldeicaza/gui.cs/issues/125
This commit is contained in:
@@ -101,6 +101,16 @@ namespace Terminal.Gui {
|
||||
this.CanFocus = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes all widgets from this container.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// </remarks>
|
||||
public override void RemoveAll()
|
||||
{
|
||||
contentView.RemoveAll();
|
||||
}
|
||||
|
||||
public override void Redraw (Rect bounds)
|
||||
{
|
||||
if (!NeedDisplay.IsEmpty) {
|
||||
|
||||
Reference in New Issue
Block a user