patch 9.0.1296: calling an object method with arguments does not work

Problem:    Calling an object method with arguments does not work. (Ernie
            Rael)
Solution:   Take the argument count into account when looking up the object.
            (closes #11911)
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 0f812f1..be9b18e 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -1373,6 +1373,47 @@
   v9.CheckScriptSuccess(lines)
 enddef
 
+def Test_using_base_class()
+  var lines =<< trim END
+    vim9script
+
+    class BaseEE
+        def Enter(): any
+            return null
+        enddef
+        def Exit(resource: any): void
+        enddef
+    endclass
+
+    class ChildEE extends BaseEE
+        def Enter(): any
+            return 42
+        enddef
+
+        def Exit(resource: number): void
+            g:result ..= '/exit'
+        enddef
+    endclass
+
+    def With(ee: BaseEE)
+        var r = ee.Enter()
+        try
+            g:result ..= r
+        finally
+            g:result ..= '/finally'
+            ee.Exit(r)
+        endtry
+    enddef
+
+    g:result = ''
+    With(ChildEE.new())
+    assert_equal('42/finally/exit', g:result)
+  END
+  v9.CheckScriptSuccess(lines)
+  unlet g:result
+enddef
+
+
 def Test_class_import()
   var lines =<< trim END
       vim9script
diff --git a/src/version.c b/src/version.c
index 0f259bc..4213800 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1296,
+/**/
     1295,
 /**/
     1294,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 605cfb2..49042a4 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -4143,8 +4143,10 @@
 	    // call a method on an interface
 	    case ISN_METHODCALL:
 		{
+		    cmfunc_T *mfunc = iptr->isn_arg.mfunc;
+
 		    SOURCING_LNUM = iptr->isn_lnum;
-		    tv = STACK_TV_BOT(-1);
+		    tv = STACK_TV_BOT(-1 - mfunc->cmf_argcount);
 		    if (tv->v_type != VAR_OBJECT)
 		    {
 			object_required_error(tv);
@@ -4154,7 +4156,6 @@
 		    class_T *cl = obj->obj_class;
 
 		    // convert the interface index to the object index
-		    cmfunc_T *mfunc = iptr->isn_arg.mfunc;
 		    int idx = object_index_from_itf_index(mfunc->cmf_itf,
 						    TRUE, mfunc->cmf_idx, cl);