Fix invalid types, null pointer use, memory leak
Closes #612.
diff --git a/src/cocoa_window.m b/src/cocoa_window.m
index 54d528a..b7486ad 100644
--- a/src/cocoa_window.m
+++ b/src/cocoa_window.m
@@ -739,6 +739,7 @@
[[appMenu addItemWithTitle:@"Services"
action:NULL
keyEquivalent:@""] setSubmenu:servicesMenu];
+ [servicesMenu release];
[appMenu addItem:[NSMenuItem separatorItem]];
[appMenu addItemWithTitle:[NSString stringWithFormat:@"Hide %@", appName]
action:@selector(hide:)
@@ -757,6 +758,7 @@
NSMenuItem* windowMenuItem =
[bar addItemWithTitle:@"" action:NULL keyEquivalent:@""];
+ [bar release];
NSMenu* windowMenu = [[NSMenu alloc] initWithTitle:@"Window"];
[NSApp setWindowsMenu:windowMenu];
[windowMenuItem setSubmenu:windowMenu];
diff --git a/src/iokit_joystick.m b/src/iokit_joystick.m
index ebce5c8..f21b2bf 100644
--- a/src/iokit_joystick.m
+++ b/src/iokit_joystick.m
@@ -352,7 +352,7 @@
if (result)
{
CFNumberRef pageRef = CFNumberCreate(kCFAllocatorDefault,
- kCFNumberIntType,
+ kCFNumberLongType,
&usagePage);
if (pageRef)
{
@@ -362,7 +362,7 @@
CFRelease(pageRef);
CFNumberRef usageRef = CFNumberCreate(kCFAllocatorDefault,
- kCFNumberIntType,
+ kCFNumberLongType,
&usage);
if (usageRef)
{
@@ -421,11 +421,11 @@
CFArrayAppendValue(matchingCFArrayRef, matchingCFDictRef);
CFRelease(matchingCFDictRef);
}
- }
- IOHIDManagerSetDeviceMatchingMultiple(_glfw.iokit_js.managerRef,
- matchingCFArrayRef);
- CFRelease(matchingCFArrayRef);
+ IOHIDManagerSetDeviceMatchingMultiple(_glfw.iokit_js.managerRef,
+ matchingCFArrayRef);
+ CFRelease(matchingCFArrayRef);
+ }
IOHIDManagerRegisterDeviceMatchingCallback(_glfw.iokit_js.managerRef,
&matchCallback, NULL);