summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/input_merger.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/input_merger.h')
-rw-r--r--src/devices/machine/input_merger.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/devices/machine/input_merger.h b/src/devices/machine/input_merger.h
index 0ce9eb2ef62..3f2e1c884e7 100644
--- a/src/devices/machine/input_merger.h
+++ b/src/devices/machine/input_merger.h
@@ -33,7 +33,7 @@
MCFG_DEVICE_ADD(_tag, INPUT_MERGER_ALL_LOW, 0)
#define MCFG_INPUT_MERGER_OUTPUT_HANDLER(_devcb) \
- devcb = &input_merger_device::set_output_handler(*device, DEVCB_##_devcb);
+ devcb = &downcast<input_merger_device &>(*device).set_output_handler(DEVCB_##_devcb);
//**************************************************************************
@@ -44,8 +44,7 @@ class input_merger_device : public device_t
{
public:
// callback
- template <class Object> static devcb_base &set_output_handler(device_t &device, Object &&cb)
- { return downcast<input_merger_device &>(device).m_output_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_output_handler(Object &&cb) { return m_output_handler.set_callback(std::forward<Object>(cb)); }
// input lines
template <unsigned Bit> DECLARE_WRITE_LINE_MEMBER(in_w) { static_assert(Bit < 32, "invalid bit"); machine().scheduler().synchronize(timer_expired_delegate(FUNC(input_merger_device::update_state), this), (Bit << 1) | (state ? 1U : 0U)); }