Open prideout opened 4 years ago
Same issue here.
I fixed it by changing mu_push_command to this:
mu_Command* mu_push_command(mu_Context *ctx, int type, int size) {
mu_Command *cmd = (mu_Command*) (ctx->command_list.items + ctx->command_list.idx);
const int al = sizeof(void*) - 1;
size = (size + al) & ~al;
expect(size % sizeof(void*) == 0);
expect(ctx->command_list.idx + size < MU_COMMANDLIST_SIZE);
cmd->base.type = type;
cmd->base.size = size;
ctx->command_list.idx += size;
return cmd;
}
This is minor but it might be nice to fix the address sanitizer output that look like this:
runtime error: member access within misaligned address 0x000112e73f44 for type 'mu_Command', which requires 8 byte alignment
Thankfully this seems really to fix: 1) Add an
expect(size % 8 == 0)
at the top ofmu_push_command
2) Add 4 bytes of padding tomu_RectCommand
3) Changemu_draw_text
to do: