[Bug 46170] Programs that get MIDI data from the "Midi Through" port will crash

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 26 07:54:22 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=46170

Andrew Eikum <aeikum at codeweavers.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aeikum at codeweavers.com

--- Comment #18 from Andrew Eikum <aeikum at codeweavers.com> ---
(In reply to Fabian Maurer from comment #16)
> Is there a way to legally get one of the games to reproduce with?
> 
> For example, a test in a VM would be interesting. Though I suspect an ALSA
> issue here, getting a NULL event does sound wrong.

It does sound wrong, but the alsa-lib tests actually account for this. Here's
the loop from alsa-lib/test/seq-decoder.c:

    max = snd_seq_poll_descriptors_count(handle, POLLIN);
    pfds = alloca(sizeof(*pfds) * max);
    while (1) {
        snd_seq_poll_descriptors(handle, pfds, max, POLLIN);
        if (poll(pfds, max, -1) < 0)
            break;
        do {
            if ((err = snd_seq_event_input(handle, &ev))<0)
                break;
            if (!ev)
                continue;
            decode_event(ev);
            snd_seq_free_event(ev);
        } while (err > 0);
    }

You could try changing Wine's event loop to match this behavior (e.g. get rid
of snd_seq_event_input_pending and just use the return from snd_seq_event_input
to break the inner loop).

I think the way to decide whether this is a ScummVM bug or an ALSA and/or Wine
bug would be to try the game on Windows and see if it also fails to switch the
instruments, right?

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list