I thought I'd give the new touch screen support a try but touching the screen caused refind to crash forcing me to reboot. It turns out that, on my system at least, passing a NULL pointer into TouhProtocol->GetState doesn't allocate it for you so it's still NULL when trying to access CurrentX and CurrentY.
I fixed that and then had a second issue in that the CurrentX and CurrentY values aren't relative to the screen resolution but to the AbsoluteMaxX and AbsoluteMaxY values from TouchProtocol->Mode. This results in the values passed into FindMainMenuItem being totally wrong. Adjusting CurrentX and Y accordingly solves this problem.
Thanks for fixing this. I've never worked with EFI before, so I figured there were a few mistakes. Of course it doesn't help that I only have one machine to test it on.
Glad to see my code being used (even though I'm listed as an anonymous contributer in the release notes :P )
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I sent you an e-mail asking about this. Maybe it never arrived. I'm happy to give you named credit. I don't do so by default because some people want to remain anonymous (completely anonymous, keep their e-mails out of the documentation, or use a pseudonym for contributions). I'm preparing to make a new release soon, so please respond if you want to be named in the CREDITS.txt file.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I thought I'd give the new touch screen support a try but touching the screen caused refind to crash forcing me to reboot. It turns out that, on my system at least, passing a NULL pointer into TouhProtocol->GetState doesn't allocate it for you so it's still NULL when trying to access CurrentX and CurrentY.
I fixed that and then had a second issue in that the CurrentX and CurrentY values aren't relative to the screen resolution but to the AbsoluteMaxX and AbsoluteMaxY values from TouchProtocol->Mode. This results in the values passed into FindMainMenuItem being totally wrong. Adjusting CurrentX and Y accordingly solves this problem.
I've pushed my changes to github here: https://github.com/tombriden/refind/compare/master...touch_fixes
Thanks for fixing this. I've never worked with EFI before, so I figured there were a few mistakes. Of course it doesn't help that I only have one machine to test it on.
Glad to see my code being used (even though I'm listed as an anonymous contributer in the release notes :P )
I sent you an e-mail asking about this. Maybe it never arrived. I'm happy to give you named credit. I don't do so by default because some people want to remain anonymous (completely anonymous, keep their e-mails out of the documentation, or use a pseudonym for contributions). I'm preparing to make a new release soon, so please respond if you want to be named in the
CREDITS.txt
file.Oh I'm sorry, that was intended as a joke. No I never recieved an email, though I'm happy to be included.
On another note, I've noticed that newer firmware updates on my SP4 have broken the touch support, so I'll have to look into that.