Skip to content

Commit a195136

Browse files
Fix AmbiguousMatchException in AvaloniaInternalCompatibilityHelper.GetFocusedElement
Agent-Logs-Url: https://github.com/OpenRakis/Spice86.DataGrid/sessions/b6ff2a0c-b42f-43a6-9a10-02e2b31097e5 Co-authored-by: maximilien-noal <1087524+maximilien-noal@users.noreply.github.com>
1 parent f2ac608 commit a195136

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

src/Spice86.DataGrid/Avalonia.Controls.DataGrid/Utils/AvaloniaInternalCompatibilityHelper.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,16 @@ public static Visual GetFocusedElement(InputElement inputElement)
2222
return null;
2323
}
2424

25-
MethodInfo getFocusedElementMethod = focusManager.GetType().GetMethod("GetFocusedElement", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
25+
// Use the overload that takes an explicit Type[] of parameters to disambiguate
26+
// between multiple GetFocusedElement overloads exposed by newer Avalonia versions
27+
// (Avalonia 12+ adds a GetFocusedElement(...) overload, which makes the lookup
28+
// by name alone throw AmbiguousMatchException).
29+
MethodInfo getFocusedElementMethod = focusManager.GetType().GetMethod(
30+
"GetFocusedElement",
31+
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic,
32+
binder: null,
33+
types: Type.EmptyTypes,
34+
modifiers: null);
2635
if (getFocusedElementMethod != null)
2736
{
2837
return getFocusedElementMethod.Invoke(focusManager, null) as Visual;

src/Spice86.DataGrid/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
1010
</PropertyGroup>
1111
<PropertyGroup>
12-
<Version>0.1.0</Version>
12+
<Version>0.1.1</Version>
1313
<Authors>Spice86 contributors</Authors>
1414
<Description>Avalonia DataGrid and Semi DataGrid theme packaged for Spice86.</Description>
1515
<PackageProjectUrl>https://github.com/OpenRakis/Spice86.DataGrid</PackageProjectUrl>

0 commit comments

Comments
 (0)