Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] Transaction Callbacks and function calling conventions


Chronological Thread 
  • From: "Bo Huang" < >
  • To: < >
  • Subject: [Manta] Transaction Callbacks and function calling conventions
  • Date: Mon, 15 Dec 2008 14:53:26 -0500

Hi
 
I realize this is probably a long shot and MS related. Still any tip is 
always appreciated.
 
 
I create a transaction as follows:
 
this->rtrt->addTransaction( (TransactionBase*) Callback::create( 
&UpdateRotationCB, this->rtrt ) );
with the call back function:

void UpdateRotationCB(RTRT* rtrt );

I get the following error at transaction->apply() in void 
RTRT::postTransactions(bool& changed)
 
"Run-Time Check Failure #0 - The value of ESP was not properly saved across a 
function call.  This is usually a result of calling a function declared with 
one calling convention with a function pointer declared with a different 
calling convention."

I suspected perhaps I should add __stdcall to the call back function like so:

void __stdcall UpdateRotationCB(RTRT* rtrt );

and add __stdcall to all places where

void (__stdcall *pmf)(Arg1);

exist, such as in Callback::create(), and class Callback_Static_0Data_1Arg.

None helps.




Archive powered by MHonArc 2.6.16.

Top of page