Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes springboard if volume button is pressed twice or more rapidly when app is opening #9

Closed
cgm616 opened this issue Aug 31, 2016 · 2 comments
Assignees
Labels

Comments

@cgm616
Copy link
Owner

cgm616 commented Aug 31, 2016

This is a different bug from #7. That only crashes the apps, and can be fixed by checking if the status bar exists. This crashes the entire springboard, and has something to do with calling [vbar resetTimer] while the block from libobjcipc is still executing, or when the message is still being sent. I think.

Logs:

@cgm616 cgm616 added the bug label Aug 31, 2016
@cgm616 cgm616 self-assigned this Aug 31, 2016
@cgm616
Copy link
Owner Author

cgm616 commented Aug 31, 2016

Looking at the logs, it consistently crashes on the asynchronous libobjcipc message send from the presentVolumeBarWithView: method. I have more logs on my device and they're all almost identical. I'm not sure what I can do to resolve this.

Currently Tweak.xm needs the reply synchronously to init the volumebar object. Maybe in a replyHandler block in an async verison of sending ipc I can add the reply info to the volumebar, but I'd need to make sure that nothing in the tweak directly needs it immediately.

@cgm616
Copy link
Owner Author

cgm616 commented Aug 31, 2016

Looking at it, the tweak needs that stuff pretty immediately. I still see no reason why it's crashing, only that it has something to do with waiting on the async call and calling resetTimer

cgm616 added a commit that referenced this issue Aug 31, 2016
More info in issue #9, this commit closes that. When the volume buttons
were quickly pressed, the hook is still waiting on the async call to the
app but the second time calls resetTimer on the VolumeBar object.
resetTimer was incorrectly written, with one crucial part not inside the
check to make sure it was safe.
@cgm616 cgm616 closed this as completed Aug 31, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant