From: Anton Baskanov baskanov@gmail.com
--- dlls/dmime/performance.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c index f4504c4d36f..a7f63f959e7 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -97,11 +97,11 @@ static inline struct message *message_from_DMUS_PMSG(DMUS_PMSG *msg) return msg ? CONTAINING_RECORD(msg, struct message, msg) : NULL; }
-static void performance_queue_message(struct performance *This, struct message *message, struct list *hint) +static void performance_queue_message(struct performance *This, struct message *message) { struct message *prev;
- LIST_FOR_EACH_ENTRY_REV(prev, hint ? hint : &This->messages, struct message, entry) + LIST_FOR_EACH_ENTRY_REV(prev, &This->messages, struct message, entry) { if (&prev->entry == &This->messages) break; if (prev->msg.rtTime <= message->msg.rtTime) break; @@ -170,12 +170,11 @@ static DWORD WINAPI message_thread_proc(void *args) while ((ptr = list_head(&This->messages))) { struct message *message = LIST_ENTRY(ptr, struct message, entry); - struct list *next = ptr->next; list_remove(&message->entry); list_init(&message->entry);
hr = performance_process_message(This, &message->msg, &timeout); - if (hr == DMUS_S_REQUEUE) performance_queue_message(This, message, next); + if (hr == DMUS_S_REQUEUE) performance_queue_message(This, message); if (hr != S_OK) break; }
@@ -828,7 +827,7 @@ static HRESULT WINAPI performance_SendPMsg(IDirectMusicPerformance8 *iface, DMUS if (hr != DMUS_S_REQUEUE) goto done; }
- performance_queue_message(This, message, NULL); + performance_queue_message(This, message); hr = S_OK; }