mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 02:31:15 +00:00
Match to 100%
This commit is contained in:
parent
c4502eb6fd
commit
55707c02f6
@ -324,22 +324,24 @@ void MxOmni::DeleteObject(MxDSAction& p_dsAction)
|
||||
MxResult MxOmni::CreatePresenter(MxStreamController* p_controller, MxDSAction& p_action)
|
||||
{
|
||||
MxResult result = FAILURE;
|
||||
MxPresenter* object = (MxPresenter*) m_objectFactory->Create(PresenterNameDispatch(p_action));
|
||||
const char* name = PresenterNameDispatch(p_action);
|
||||
MxPresenter* object = (MxPresenter*) m_objectFactory->Create(name);
|
||||
|
||||
if (object) {
|
||||
if (object->AddToManager() == SUCCESS) {
|
||||
MxPresenter* sender = p_action.GetUnknown28();
|
||||
if (sender == NULL && (sender = p_controller->FUN_100c1e70(p_action)) == NULL) {
|
||||
if (p_action.GetOrigin() == NULL) {
|
||||
p_action.SetOrigin(this);
|
||||
}
|
||||
if (!sender)
|
||||
sender = p_controller->FUN_100c1e70(p_action);
|
||||
|
||||
object->SetCompositePresenter(NULL);
|
||||
}
|
||||
else {
|
||||
if (sender) {
|
||||
p_action.SetOrigin(sender);
|
||||
object->SetCompositePresenter((MxCompositePresenter*) sender);
|
||||
}
|
||||
else {
|
||||
if (!p_action.GetOrigin())
|
||||
p_action.SetOrigin(this);
|
||||
object->SetCompositePresenter(NULL);
|
||||
}
|
||||
|
||||
if (object->StartAction(p_controller, &p_action) == SUCCESS) {
|
||||
if (sender) {
|
||||
@ -356,6 +358,7 @@ MxResult MxOmni::CreatePresenter(MxStreamController* p_controller, MxDSAction& p
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user