diff --git a/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs b/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs
index 59c0f82414..7ece790310 100644
--- a/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs
@@ -56,6 +56,7 @@ namespace Avalonia.Diagnostics.ViewModels
{
if (IsEnabled.GetValueOrDefault() && !_isRegistered)
{
+ // FIXME: This leaks event handlers.
_event.AddClassHandler(typeof(object), HandleEvent, (RoutingStrategies)7, handledEventsToo: true);
_isRegistered = true;
}
diff --git a/src/Avalonia.Input/FocusManager.cs b/src/Avalonia.Input/FocusManager.cs
index 1603b250b8..80e18cb7bf 100644
--- a/src/Avalonia.Input/FocusManager.cs
+++ b/src/Avalonia.Input/FocusManager.cs
@@ -23,7 +23,7 @@ namespace Avalonia.Input
///
/// Initializes a new instance of the class.
///
- public FocusManager()
+ static FocusManager()
{
InputElement.PointerPressedEvent.AddClassHandler(
typeof(IInputElement),
@@ -174,7 +174,7 @@ namespace Avalonia.Input
///
/// The event sender.
/// The event args.
- private void OnPreviewPointerPressed(object sender, RoutedEventArgs e)
+ private static void OnPreviewPointerPressed(object sender, RoutedEventArgs e)
{
var ev = (PointerPressedEventArgs)e;
@@ -191,7 +191,7 @@ namespace Avalonia.Input
if (element != null)
{
- Focus(element, NavigationMethod.Pointer, ev.InputModifiers);
+ Instance?.Focus(element, NavigationMethod.Pointer, ev.InputModifiers);
}
}
}