Comments (9)
https://github.com/thomasokken/freecell/releases
Beta-quality software! Buyer beware, use at your own risk, etc. etc. etc.
This had been bugging me ever since Alisdair released the 64-bit build. It just took a loooong time before I finally decided to spend an evening to look into it!
from freecell.
My pleasure! It's a very nice app, I'm glad I can contribute a small piece to it. 😊
I didn't realize my build required Ventura, I guess Xcode just defaulted to it because it no longer supports whatever version Alisdair had targeted in his latest build. I just rebuilt it, and re-uploaded, with the target set to High Sierra (10.13), that should work fine as well, since nothing has happened to the code that would make it require later OS versions.
from freecell.
I think the animations got broken by some change in the Cocoa runtime, which manifested itself when this project was rebuilt for x86_64. The drawing requests all take place on the main thread so I can see how the screen never gets a chance to repaint while the move is still being executed.
I have a patch that fixes this by performing the move in a background thread, so the main and UI threads can do their thing to paint the board. It's still a bit rough around the edges, and needs review to make sure all calls from the background thread back to the UI are done using performSelectorOnMainThread, and to make sure there are no race conditions. But it's looking good so far, I've played a bunch of games and nothing bad happened.
https://github.com/thomasokken/freecell
from freecell.
Wow, I didn't expect a fix for this! :)
Would it be possible to get this as an app? I'm not a dev and don't know how to use Xcode...
from freecell.
Sorry for the late reply. I was not on Ventura yet so I had to upgrade for this to work.
Which was worth it. My favorite fidget toy software now finally works like in the good old days.
Thank you so much for taking the time to fix this! Know that your work is deeply appreciated. :)
from freecell.
Thanks @thomasokken! Your build works perfectly on Catalina.
from freecell.
I just put out a new release, 2.3c, to fix the crash that would occasionally happen if you clicked on the board while the card animation was in progress. I'm not 100.00% sure yet that the issue is completely fixed, but I've tested it a lot the last few days, and it doesn't seem to happen any more. Please let me know if you still experience crashes with this version.
https://github.com/thomasokken/freecell/releases
from freecell.
from freecell.
It's hard to say for sure, but I would assume so. The crash is a result of the animation still taking place while a new game is being started, or other scenarios where the app is trying to do two things at the same time, where those two things aren't supposed to happen at the same time. I've never seen the app crash before I made the change to restore the animation in the 64-bit / ARM build, and the change in 2.3c addresses this issue.
The bug causes memory corruption, and that can cause the app to crash in various different places. I collected half a dozen crash logs, and no two are exactly the same. But based on the fact that I've never seen the app crash before my animation fix, it seems likely that any crash you observed was a result of that change, and I would expect 2.3c to prevent it from happening again. (I've had zero crashes since the 2.3c fix, and I saw crashes every few days or so before then.)
from freecell.
Related Issues (2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freecell.