-
Notifications
You must be signed in to change notification settings - Fork 31
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
[MacOS 10.14] Bug in NSOpenPanel of Mojave let crash AnimatedGif #37
Comments
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? |
I see also other screensaver have issues with 10.14 that are still unsolved. |
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 |
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. |
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". 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. 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. |
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: 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. |
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 |
Bug inside NSOpenPanel is still not fixed in first official release of 10.14 Mojave. Update: |
Since modal windows leads to crashes when using inside system preferences since 10.14 I had to replace runModal by beginWithCompletionHandler as workaround.
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 |
On MacOS 10.14 beta 1
It crashes the desktop and screen saver menu.
I opened the project in Xcode and did some deprecation clean up now it stopped the crash but still does not load up due to constant error of missing DYLIB.
The text was updated successfully, but these errors were encountered: