diff --git a/Terminal.Gui/Core/View.cs b/Terminal.Gui/Core/View.cs index 72110f7a5..0f1da9059 100644 --- a/Terminal.Gui/Core/View.cs +++ b/Terminal.Gui/Core/View.cs @@ -3083,12 +3083,17 @@ namespace Terminal.Gui { /// The view. /// The method name. /// if it's overridden, otherwise. - public bool IsOverridden (View view, string method) + public static bool IsOverridden (View view, string method) { - Type t = view.GetType (); - MethodInfo m = t.GetMethod (method); - - return (m.DeclaringType == t || m.ReflectedType == t) && m.GetBaseDefinition ().DeclaringType == typeof (Responder); + 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; } } }