diff --git a/key/keypress_c.h b/key/keypress_c.h index 48de33a..81bad31 100644 --- a/key/keypress_c.h +++ b/key/keypress_c.h @@ -189,6 +189,7 @@ void toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags, uintptr pi } SendTo(pid, keyEvent); + CFRelease(source); } #elif defined(IS_WINDOWS) const DWORD dwFlags = down ? 0 : KEYEVENTF_KEYUP; @@ -284,6 +285,7 @@ void toggleKey(char c, const bool down, MMKeyFlags flags, uintptr pid) { CGEventKeyboardSetUnicodeString(keyEvent, 1, &ch); SendTo(pid, keyEvent); + CFRelease(source); } #else #define toggleUniKey(c, down) toggleKey(c, down, MOD_NONE, 0) diff --git a/mouse/mouse_c.h b/mouse/mouse_c.h index 26d5e98..cc2127d 100644 --- a/mouse/mouse_c.h +++ b/mouse/mouse_c.h @@ -91,6 +91,7 @@ void moveMouse(MMPointInt32 point){ CGEventPost(kCGHIDEventTap, move); CFRelease(move); + CFRelease(source); #elif defined(USE_X11) Display *display = XGetMainDisplay(); XWarpPointer(display, None, DefaultRootWindow(display), 0, 0, 0, 0, point.x, point.y); @@ -112,6 +113,7 @@ void dragMouse(MMPointInt32 point, const MMMouseButton button){ CGEventPost(kCGHIDEventTap, drag); CFRelease(drag); + CFRelease(source); #else moveMouse(point); #endif @@ -152,6 +154,7 @@ void toggleMouse(bool down, MMMouseButton button) { CGEventPost(kCGHIDEventTap, event); CFRelease(event); + CFRelease(source); #elif defined(USE_X11) Display *display = XGetMainDisplay(); XTestFakeButtonEvent(display, button, down ? True : False, CurrentTime);