Giter Site home page Giter Site logo

Comments (9)

thomasokken avatar thomasokken commented on July 22, 2024 1

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.

thomasokken avatar thomasokken commented on July 22, 2024 1

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.

thomasokken avatar thomasokken commented on July 22, 2024

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.

FatherOfAlways avatar FatherOfAlways commented on July 22, 2024

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.

FatherOfAlways avatar FatherOfAlways commented on July 22, 2024

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.

proteo avatar proteo commented on July 22, 2024

Thanks @thomasokken! Your build works perfectly on Catalina.

from freecell.

thomasokken avatar thomasokken commented on July 22, 2024

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.

moongravy avatar moongravy commented on July 22, 2024

from freecell.

thomasokken avatar thomasokken commented on July 22, 2024

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.