summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/schedule.cpp
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-07-01 11:47:12 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2016-07-01 11:47:12 +0200
commitd34724b3ab53e0f1e26d0b7c6cee91c07b2b1458 (patch)
treed83645167663d2c7105cb8348e60b69a3f8cade1 /src/emu/schedule.cpp
parent0630edb2bfbf7bb5b2e2d5acefa4bfd4b494b5f9 (diff)
- removed FUNC_NULL macro
- made emu_timer register_save properly handle timer_expired_delegate() - removed timer_expired_func and calls using it
Diffstat (limited to 'src/emu/schedule.cpp')
-rw-r--r--src/emu/schedule.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/emu/schedule.cpp b/src/emu/schedule.cpp
index cab7a4598d4..ca32bd6d56e 100644
--- a/src/emu/schedule.cpp
+++ b/src/emu/schedule.cpp
@@ -243,10 +243,15 @@ void emu_timer::register_save()
// for non-device timers, it is an index based on the callback function name
if (m_device == nullptr)
{
- name = m_callback.name();
+ name = m_callback.name() ? m_callback.name() : "unnamed";
for (emu_timer *curtimer = machine().scheduler().first_timer(); curtimer != nullptr; curtimer = curtimer->next())
- if (!curtimer->m_temporary && curtimer->m_device == nullptr && strcmp(curtimer->m_callback.name(), m_callback.name()) == 0)
- index++;
+ if (!curtimer->m_temporary && curtimer->m_device == nullptr)
+ {
+ if (curtimer->m_callback.name() != nullptr && m_callback.name() != nullptr && strcmp(curtimer->m_callback.name(), m_callback.name()) == 0)
+ index++;
+ else if (curtimer->m_callback.name() == nullptr && m_callback.name() == nullptr)
+ index++;
+ }
}
// for device timers, it is an index based on the device and timer ID