Skip to content

trap on mg_gamepads_free in osx #32

@free-variation

Description

@free-variation

Hi,

I'm getting a trap. The bug: MG_MEMSET zeroes gamepads->src.hidManager to NULL before mg_gamepads_free_platform tries to CFRelease it.

And CFRelease(NULL) causes a trap on macOS.

The fix seems to be this, moving the memset after releasing platform resources.

void mg_gamepads_free(mg_gamepads* gamepads) {
mg_gamepad* cur;
MG_ASSERT(gamepads != NULL);

  mg_gamepads_free_platform(gamepads);

  for (cur = gamepads->list.cur; cur != NULL; cur = cur->prev) {
      mg_gamepad_release(gamepads, cur);
  }

  MG_MEMSET(gamepads, 0, sizeof(mg_gamepads));

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions