]> git.lizzy.rs Git - minetest.git/blobdiff - src/nodetimer.h
Object selection: Improve distance checks (#12974)
[minetest.git] / src / nodetimer.h
index 40e54ccc569221e5e679965423d63ad5a38561ab..ec1a932539d3c1f1058e87adb0ab795290b3460b 100644 (file)
@@ -92,16 +92,12 @@ class NodeTimerList
                        }
                }
        }
-       // Undefined behaviour if there already is a timer
-       void insert(NodeTimer timer) {
+       // Undefined behavior if there already is a timer
+       void insert(const NodeTimer &timer) {
                v3s16 p = timer.position;
                double trigger_time = m_time + (double)(timer.timeout - timer.elapsed);
-               std::multimap<double, NodeTimer>::iterator it =
-                       m_timers.insert(std::pair<double, NodeTimer>(
-                               trigger_time, timer
-                       ));
-               m_iterators.insert(
-                       std::pair<v3s16, std::multimap<double, NodeTimer>::iterator>(p, it));
+               std::multimap<double, NodeTimer>::iterator it = m_timers.emplace(trigger_time, timer);
+               m_iterators.emplace(p, it);
                if (m_next_trigger_time == -1. || trigger_time < m_next_trigger_time)
                        m_next_trigger_time = trigger_time;
        }