From da98915c0c4c3cf64ab647327612bc7acde43b72 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Tue, 8 Jan 2019 18:58:44 +0900 Subject: [PATCH 1/2] Fix links not working in partially masked text flow --- osu.Game/Graphics/Containers/LinkFlowContainer.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/osu.Game/Graphics/Containers/LinkFlowContainer.cs b/osu.Game/Graphics/Containers/LinkFlowContainer.cs index 74315d2522..7646ff723e 100644 --- a/osu.Game/Graphics/Containers/LinkFlowContainer.cs +++ b/osu.Game/Graphics/Containers/LinkFlowContainer.cs @@ -79,6 +79,7 @@ namespace osu.Game.Graphics.Containers { AddInternal(new DrawableLinkCompiler(drawables.OfType().ToList()) { + RelativeSizeAxes = Axes.Both, TooltipText = tooltipText ?? (url != text ? url : string.Empty), Action = action ?? (() => { @@ -122,5 +123,7 @@ namespace osu.Game.Graphics.Containers }), }); } + + public override IEnumerable FlowingChildren => base.FlowingChildren.Where(c => !(c is DrawableLinkCompiler)); } } From 4578d36a67bd5817f642029c98b4e108b546332e Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 10 Jan 2019 14:55:36 +0900 Subject: [PATCH 2/2] Add comment --- osu.Game/Graphics/Containers/LinkFlowContainer.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/osu.Game/Graphics/Containers/LinkFlowContainer.cs b/osu.Game/Graphics/Containers/LinkFlowContainer.cs index 7646ff723e..e4c18dfb3d 100644 --- a/osu.Game/Graphics/Containers/LinkFlowContainer.cs +++ b/osu.Game/Graphics/Containers/LinkFlowContainer.cs @@ -124,6 +124,9 @@ namespace osu.Game.Graphics.Containers }); } + // We want the compilers to always be visible no matter where they are, so RelativeSizeAxes is used. + // However due to https://github.com/ppy/osu-framework/issues/2073, it's possible for the compilers to be relative size in the flow's auto-size axes - an unsupported operation. + // Since the compilers don't display any content and don't affect the layout, it's simplest to exclude them from the flow. public override IEnumerable FlowingChildren => base.FlowingChildren.Where(c => !(c is DrawableLinkCompiler)); } }