git-svn-id: svn://db.shs.com.ru/pip@496 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-05-07 09:36:13 +00:00
parent b9c609ecad
commit e33406b283
10 changed files with 56 additions and 40 deletions

View File

@@ -101,7 +101,7 @@ bool PIObject::execute(const PIString & method, const PIVector<PIVariant> & vl)
bool ok = findSuitableMethodV(method, vl.size_s(), ac, func);
if (!ok)
return false;
callAddrV(func.addrV, this, ac, vl);
callAddrV(func.addrV, toThis(), ac, vl);
return true;
}
@@ -120,7 +120,7 @@ bool PIObject::executeQueued(PIObject * performer, const PIString & method, cons
bool ok = findSuitableMethodV(method, vl.size_s(), ac, func);
if (!ok)
return false;
performer->postQueuedEvent(QueuedEvent(func.addrV, this, this, performer, vl));
performer->postQueuedEvent(QueuedEvent(func.addrV, toThis(), this, performer, vl));
performer->proc_event_queue = true;
return true;
}
@@ -399,6 +399,12 @@ void PIObject::postQueuedEvent(const PIObject::QueuedEvent & e) {
}
void * PIObject::toThis() const {
//piCout << ptrOffset() << (void*)this << (void*)((char*)this - ptrOffset());
return (void*)((char*)this - ptrOffset());
}
PIMutex & PIObject::__meta_mutex() {
static PIMutex ret;
return ret;