Rémi Bernon (@rbernon) commented about server/queue.c:
- struct message *prev;
- struct list *ptr;
- for (ptr = list_tail( &input->msg_list ); ptr; ptr = list_prev( &input->msg_list, ptr ))
- {
prev = LIST_ENTRY( ptr, struct message, entry );
if (prev->msg != WM_INPUT) break;
- }
- if (!ptr) return 0;
- if (prev->result) return 0;
- if (prev->win && msg->win && prev->win != msg->win) return 0;
- if (prev->msg != msg->msg) return 0;
- if (prev->type != msg->type) return 0;
- if (prev->x != msg->x || prev->y != msg->y) return 0;
- /* now we can merge it */
- prev->wparam = msg->wparam;
Merging the messages don't seem right, they contain relative wheel position so this will effectively drop some movements?