diff --git a/Terminal.Gui/Core/View.cs b/Terminal.Gui/Core/View.cs
index 7cafe2ad8..0fcd73b07 100644
--- a/Terminal.Gui/Core/View.cs
+++ b/Terminal.Gui/Core/View.cs
@@ -3080,17 +3080,12 @@ namespace Terminal.Gui {
/// The view.
/// The method name.
/// if it's overridden, otherwise.
- public static bool IsOverridden (View view, string method)
+ public bool IsOverridden (View view, string method)
{
- MethodInfo m = view.GetType ().GetMethod (method,
- BindingFlags.Instance
- | BindingFlags.Public
- | BindingFlags.NonPublic
- | BindingFlags.DeclaredOnly);
- if (m == null) {
- return false;
- }
- return m.GetBaseDefinition ().DeclaringType != m.DeclaringType;
+ Type t = view.GetType ();
+ MethodInfo m = t.GetMethod (method);
+
+ return (m.DeclaringType == t || m.ReflectedType == t) && m.GetBaseDefinition ().DeclaringType == typeof (Responder);
}
}
}
diff --git a/UnitTests/ViewTests.cs b/UnitTests/ViewTests.cs
index 03969c4a7..e2a20e80b 100644
--- a/UnitTests/ViewTests.cs
+++ b/UnitTests/ViewTests.cs
@@ -4062,29 +4062,5 @@ This is a tes
Assert.False (view.IsKeyPress);
Assert.True (view.IsKeyUp);
}
-
- [Fact, AutoInitShutdown]
- public void IsOverridden_False_IfNotOverriden ()
- {
- var view = new DerivedView () { Text = "DerivedView does not override MouseEvent", Width = 10, Height = 10 };
-
- Assert.False (View.IsOverridden (view, "MouseEvent"));
-
- var view2 = new Button () { Text = "Button does not overrides OnKeyDown", Width = 10, Height = 10 };
-
- Assert.False (View.IsOverridden (view2, "OnKeyDown"));
- }
-
- [Fact, AutoInitShutdown]
- public void IsOverridden_True_IfOverriden ()
- {
- var view = new Button () { Text = "Button overrides MouseEvent", Width = 10, Height = 10 };
-
- Assert.True (View.IsOverridden (view, "MouseEvent"));
-
- var view2 = new DerivedView () { Text = "DerivedView overrides OnKeyDown", Width = 10, Height = 10 };
-
- Assert.True (View.IsOverridden (view2, "OnKeyDown"));
- }
}
}