* src/mframe.m (mframe_build_return()):

Cooperate with [Connection forwardForProxy:selector:argFrame:] so
	that it's callback function is called to tell it dismiss the
	ConnectedDecoder.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2017 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
mccallum 1997-01-06 22:22:30 +00:00
parent b5f8117ecf
commit f25cb10514

View file

@ -345,7 +345,6 @@ mframe_dissect_call (arglist_t argframe, const char *type,
pass-by-reference parameters. The ENCODER function should place pass-by-reference parameters. The ENCODER function should place
the value at memory location DATA wherever the user wants to the value at memory location DATA wherever the user wants to
record the ARGNUM'th return value. record the ARGNUM'th return value.
*/ */
void void
@ -773,7 +772,11 @@ mframe_do_call (const char *encoded_types,
functions after this one. The memory for the retframe is functions after this one. The memory for the retframe is
alloca()'ed, not malloc()'ed, and therefore is on the stack and can alloca()'ed, not malloc()'ed, and therefore is on the stack and can
be tromped-on by future function calls. be tromped-on by future function calls.
*/
The callback function is finally called with the 'type' set to a nul pointer
to tell it that the return value and all return parameters have been
dealt with. This permits the function to do any tidying up necessary.
*/
retval_t retval_t
mframe_build_return (arglist_t argframe, mframe_build_return (arglist_t argframe,
@ -942,6 +945,7 @@ mframe_build_return (arglist_t argframe,
} }
} }
} }
(*decoder) (0, 0, 0, 0); /* Tell it we have finished. */
} }
else /* matches `if (out_parameters)' */ else /* matches `if (out_parameters)' */
{ {