Skip to content

Collection of fixes for long standing bugs#688

Merged
Drewbadour merged 19 commits into
360Controller:masterfrom
Drewbadour:master
Jun 1, 2018
Merged

Collection of fixes for long standing bugs#688
Drewbadour merged 19 commits into
360Controller:masterfrom
Drewbadour:master

Conversation

@Drewbadour

Copy link
Copy Markdown
Member

Includes fixes for #39, #67, #181, #280, #406, #451, #497, #513, #642, #646, #647, #663.

I've tracked down willTerminate as a fix for a retain issue. If a controller was simply unplugged, it would never call the "stop" method and therefore never unload the kext, but the kext does call "willTerminate" will a controller is unplugged, so we can call ReleaseAll() there in order to allow the kext to release properly. Unfortunately, there is a bug in macOS that causes IOHIDDevice/IOUSBHIDDevice instances to be retained based on the content of their report descriptors. That proves to be an issue with the rewrite, but I don't know if it applies to the shim code. Most likely does. Didn't really bother testing it. Either way, I've got a bug report out to Apple on the retain and hopefully I can get that shored up.

I don't know if I'll get the rewrite work done anytime soon. I've got some great ideas for new projects that appeal to me a lot more than this project, I don't own a wireless Xbox 360 controller/receiver, and I'm about to start a new job. We'll see, I guess.

@Drewbadour Drewbadour merged commit 848187f into 360Controller:master Jun 1, 2018
@Jackylv1981

Copy link
Copy Markdown

Thanks so much for your work!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants