diff --git a/src/seq/seq.c b/src/seq/seq.c --- a/src/seq/seq.c +++ b/src/seq/seq.c @@ -1633,9 +1633,10 @@ void snd_seq_client_info_set_event_filte void snd_seq_client_info_set_event_filter(snd_seq_client_info_t *info, unsigned char *filter) { assert(info); - if (! filter) + if (! filter) { info->filter &= ~SNDRV_SEQ_FILTER_USE_EVENT; - else { + memset(info->event_filter, 0, sizeof(info->event_filter)); + } else { info->filter |= SNDRV_SEQ_FILTER_USE_EVENT; memcpy(info->event_filter, filter, sizeof(info->event_filter)); }