Giter Site home page Giter Site logo

Comments (9)

Waitsnake avatar Waitsnake commented on June 1, 2024

Sorry, I'm not using MacOS 10.14.

But since it works under 10.11, 10.12 and 10.13 it seams, that Apple again changed something fundamental. And so I have absolutely no clue what is the problem this time?

I heard that with 10.14 it was planned to deprecate OpenGL. But I hopped Apple only red-flaged the end of OpenGL support to developers and/or users and warn them, but let it work. Maybe it could be related to OpenGL? But if they already disable OpenGL support in favor of Metal it could be the end of this project since I have no idea how Metal works.

Maybe you can dig into the problem a bit deeper? Are those missing DYLIB's the OpenGL libs?
What error messages do you see? What parts of the code do you already "clean up"?

from animatedgif.

Waitsnake avatar Waitsnake commented on June 1, 2024

I see also other screensaver have issues with 10.14 that are still unsolved.
JohnCoates/Aerial#464

from animatedgif.

EurypteriD192 avatar EurypteriD192 commented on June 1, 2024

Hi

After updating xcode and so it looks like it wants to move to metal. When I launch and build it shows 79 deprecations I'm not strong in xcode so using it for more than reviewing code and guidance changes is above my head

from animatedgif.

Waitsnake avatar Waitsnake commented on June 1, 2024

I installed 10.14 temporary on one of my machines and most interestingly not all parts of the under El Capitan compiled binary of 1.3.8 version are broken.

Whats broken to my knowledge so far is the "single file selection" that leads to the error message ("... desktop and screen saver...") you see as well as the small preview window(this is not using OpenGL) that stays black always black.

What is still working though is the "directory selection" (you can only select a directory not a file within the file dialog!), the normal screensaver (that uses OpenGL) together with an selected directory containing gif files (or in my first test at least one gif file... I will see if it handle more...) and also the background mode (that uses OpenGL too) together with an selected directory containing gif files.

When I have a bit more time I need to Debug deeper what API call in the single file selection leads to this crash on 10.14 and why the simple preview draw(this is not even using OpenGL!) is always black even in directory selection mode.

Well at least OpenGL still works under 10.14 that is an beginning and hopefully I will find the API that is crashing. It seems it could be a simple bug maybe in the file API? After all Mojave is still a operating system thats in beta state and as it looks for a good reason.

from animatedgif.

Waitsnake avatar Waitsnake commented on June 1, 2024

I start to dig into the first problem with the crash when using "single file selection"... and... oh man! It seam like a big bug in the NSOpenPanel. :-O

I just start the NSOpenPanel in both cases (single file selected or directory selected) with the same directory base URL using "setDirectoryURL" and also set up the panel with properties "setCanChooseFiles:YES" and "setCanChooseDirectories:YES" and "setAllowsMultipleSelection:NO".
Also set an filter to only show gif files before open the NSOpenPanel with "[openDlg setAllowedFileTypes:[[NSArray alloc] initWithObjects:@"gif", @"GIF", nil]];".

Finally I start the NSOpenPanel with "[openDlg runModal]".

In case user select an directory the NSOpenPanel come back normal in case user select an file the NSOpenPanel crashes. Sorry but this is a big bug in the NSOpenPanel API from Apple. In both cases it was initialized exactly in the same way and in a way as this NSOpenPanel should be used. Only the selection type (directory or file) within the panel make the difference.
A crash like this should not happen. It is out of the hand of a normal programmer to fix this or make a workaround for it.

I will call it a day. Thats why you should never use operating systems in beta state. The system it self is full of bugs and let crash even programs that have no own bugs.

from animatedgif.

Waitsnake avatar Waitsnake commented on June 1, 2024

I set label to enhancement and not bug since the only bug I found until now is in Mojave and not AnimatedGif.

Look here also other developers report problems with the NSOpenPanel and even freeze their hole system:
https://forums.developer.apple.com/thread/104442

I'm not sure when is a good point to look for workarounds since if Apple is good in quality management and testing their own stuff this will be maybe fixed in the official release or a next beta.

from animatedgif.

EurypteriD192 avatar EurypteriD192 commented on June 1, 2024

My current work around is to use SaveHollywood screensaver and ffmpeg to convert gifs to 1 min mp4s.

If any is interested I can share the command line I used for the conversion. I hope you get this sorted once Mojave launches fully

from animatedgif.

Waitsnake avatar Waitsnake commented on June 1, 2024

Bug inside NSOpenPanel is still not fixed in first official release of 10.14 Mojave.

Update:
Still not fixed in new version 10.14.1 of Mojave,

from animatedgif.

Waitsnake avatar Waitsnake commented on June 1, 2024

I analyse the problem a bit deeper and it is definitiv and Bug inside 10.14. The problem is not NSOpenPanel itself. The feature to start modal windows from inside the screensaver preferences of system preferences is broken. Apple reimplement the hole system preferences and thereby the screensaver config panel is not longer running direct in screensaver preferences app but inside an own process called "com.apple.preference.desktopscreeneffect.remoteservice". The GUI representation is than forwarded between the processes by the private class NSRemoteView. But the modal window feature is not working when "com.apple.preference.desktopscreeneffect.remoteservice" uses NSRemoteView and leads to crashes. This is a problem for using "[NSApp runModalForWindow:];" as well as "[NSOpenPanel runModal];".

Anyway since modal windows leads to crashes I had to replace runModal by
beginWithCompletionHandler for the NSOpenPanel as workaround. This not crashes but the code had to handle also the cases when the user ignores the open panel and makes his inputs in the configuration panel. I try this and hope it works. I checked the workaround today on El Capitan (10.11.6), Mavericks (10.9.5) and Mojave (10.14.1) and it worked.

from animatedgif.

Related Issues (20)

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.