mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-14 11:31:30 +00:00
Container lock inconsistent state fix
This commit is contained in:
parent
c74c46263a
commit
1aab23098a
@ -443,6 +443,14 @@ bool Object::Process(){
|
||||
if(m_ground_spawn && respawn_timer.Check()){
|
||||
RandomSpawn(true);
|
||||
}
|
||||
|
||||
if (user != nullptr && !entity_list.GetClientByCharID(user->CharacterID())) {
|
||||
m_inuse = false;
|
||||
last_user = user;
|
||||
user->SetTradeskillObject(nullptr);
|
||||
user = nullptr;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -554,7 +562,6 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
|
||||
ClickObjectAction_Struct* coa = (ClickObjectAction_Struct*)outapp->pBuffer;
|
||||
|
||||
//TODO: there is prolly a better way to do this.
|
||||
m_inuse = true;
|
||||
coa->type = m_type;
|
||||
coa->unknown16 = 0x0a;
|
||||
|
||||
@ -576,12 +583,6 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
|
||||
}
|
||||
}
|
||||
|
||||
if(sender->IsLooting())
|
||||
{
|
||||
coa->open = 0x00;
|
||||
user = sender;
|
||||
}
|
||||
|
||||
sender->QueuePacket(outapp);
|
||||
safe_delete(outapp);
|
||||
|
||||
@ -590,6 +591,7 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
|
||||
return(false);
|
||||
|
||||
// Starting to use this object
|
||||
m_inuse = true;
|
||||
sender->SetTradeskillObject(this);
|
||||
|
||||
user = sender;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user