mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Client & ClientEnvirnment: don't create fake events (#5676)
Instead of create fake events on the stack on each loop call (Game::run), verify is queue is empty or not and handle event directly if there is. This prevents fake ClientEvent creation & memory allocations Same fix is also applied on ClientEnvironment, & rename getClientEvent to getClientEnvEvent to match ClientEnvEvent object
This commit is contained in:
parent
f727f54192
commit
3db66b4531
5 changed files with 27 additions and 33 deletions
|
@ -598,15 +598,13 @@ void ClientEnvironment::getActiveObjects(v3f origin, f32 max_d,
|
|||
}
|
||||
}
|
||||
|
||||
ClientEnvEvent ClientEnvironment::getClientEvent()
|
||||
ClientEnvEvent ClientEnvironment::getClientEnvEvent()
|
||||
{
|
||||
ClientEnvEvent event;
|
||||
if(m_client_event_queue.empty())
|
||||
event.type = CEE_NONE;
|
||||
else {
|
||||
event = m_client_event_queue.front();
|
||||
m_client_event_queue.pop();
|
||||
}
|
||||
FATAL_ERROR_IF(m_client_event_queue.empty(),
|
||||
"ClientEnvironment::getClientEnvEvent(): queue is empty");
|
||||
|
||||
ClientEnvEvent event = m_client_event_queue.front();
|
||||
m_client_event_queue.pop();
|
||||
return event;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue