Merging listeners: only when source is set

This leaves the argument pointer in the destination unchanged, rather
than resetting it to an irrelevant value.

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2020-05-11 16:01:48 +02:00 committed by eboasson
parent db4f96dc02
commit 7897dff9ce

View file

@ -90,8 +90,7 @@ void dds_listener_copy(dds_listener_t * __restrict dst, const dds_listener_t * _
static bool dds_combine_listener_merge (uint32_t inherited, void (*dst)(void), void (*src)(void))
{
(void)inherited;
(void)src;
return dst == 0;
return dst == 0 && src != 0;
}
static bool dds_combine_listener_override_inherited (uint32_t inherited, void (*dst)(void), void (*src)(void))