Skip to content

Commit 0d730dd

Browse files
committed
Fix crash on windows 64bit when receiving winmme MIDI messages
Signed-off-by: falkTX <falktx@falktx.com>
1 parent 73a759b commit 0d730dd

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

windows/winmme/JackWinMMEInputPort.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ using Jack::JackWinMMEInputPort;
3535

3636
void CALLBACK
3737
JackWinMMEInputPort::HandleMidiInputEvent(HMIDIIN handle, UINT message,
38-
DWORD port, DWORD param1,
39-
DWORD param2)
38+
DWORD_PTR port,
39+
DWORD_PTR param1,
40+
DWORD_PTR param2)
4041
{
4142
((JackWinMMEInputPort *) port)->ProcessWinMME(message, param1, param2);
4243
}
@@ -201,7 +202,7 @@ JackWinMMEInputPort::ProcessJack(JackMidiBuffer *port_buffer,
201202
}
202203

203204
void
204-
JackWinMMEInputPort::ProcessWinMME(UINT message, DWORD param1, DWORD param2)
205+
JackWinMMEInputPort::ProcessWinMME(UINT message, DWORD_PTR param1, DWORD_PTR param2)
205206
{
206207
set_threaded_log_function();
207208
switch (message) {

windows/winmme/JackWinMMEInputPort.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,10 @@ namespace Jack {
3333
private:
3434

3535
static void CALLBACK
36-
HandleMidiInputEvent(HMIDIIN handle, UINT message, DWORD port,
37-
DWORD param1, DWORD param2);
36+
HandleMidiInputEvent(HMIDIIN handle, UINT message,
37+
DWORD_PTR port,
38+
DWORD_PTR param1,
39+
DWORD_PTR param2);
3840

3941
void
4042
EnqueueMessage(DWORD timestamp, size_t length, jack_midi_data_t *data);
@@ -43,7 +45,7 @@ namespace Jack {
4345
GetInErrorString(MMRESULT error, LPTSTR text);
4446

4547
void
46-
ProcessWinMME(UINT message, DWORD param1, DWORD param2);
48+
ProcessWinMME(UINT message, DWORD_PTR param1, DWORD_PTR param2);
4749

4850
void
4951
WriteInError(const char *jack_func, const char *mm_func,

windows/winmme/JackWinMMEPort.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ using Jack::JackWinMMEPort;
3131
///////////////////////////////////////////////////////////////////////////////
3232

3333
JackWinMMEPort::JackWinMMEPort()
34-
{}
34+
{
35+
memset(alias, 0, sizeof(alias));
36+
memset(name, 0, sizeof(name));
37+
memset(device_name, 0, sizeof(device_name));
38+
}
3539

3640
JackWinMMEPort::~JackWinMMEPort()
3741
{}

0 commit comments

Comments
 (0)