alexzielenski / ThemeEngine

OS X App to edit compiled .car files
BSD 2-Clause "Simplified" License
748 stars 130 forks source link

Not work on Catalina 10.15.2 #50

Open grafikartes opened 4 years ago

grafikartes commented 4 years ago

worked perfectly on 10.15.1, after upgrading to 10.15.2 crashed, Someone with the same problem?

zhizhi-dev commented 4 years ago

+1

mrgooge commented 4 years ago

same here...Maybe this will help

Thread 2 Crashed:: Dispatch queue: NSOperationQueue 0x7fb1980405e0 (QOS: UNSPECIFIED) 0 com.apple.CoreFoundation 0x00007fff2d4f2cff CFArrayGetCount + 6 1 com.apple.bom 0x00007fff421c8345 BOMCFArrayMaxRange + 9 2 com.apple.bom 0x00007fff421de347 BOMTreeIteratorNew + 85 3 com.nilsen.ThemeKit 0x000000010c7965ec -[TKAssetStorage _enumerateFacets] + 172 4 com.nilsen.ThemeKit 0x000000010c7963c7 35-[TKAssetStorage _beginEnumeration]_block_invoke + 55 5 com.apple.Foundation 0x00007fff2fbda79d NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 6 com.apple.Foundation 0x00007fff2fbda695 -[NSBlockOperation main] + 98 7 com.apple.Foundation 0x00007fff2fbda620 __NSOPERATION_IS_INVOKING_MAIN + 17 8 com.apple.Foundation 0x00007fff2fbd9814 -[NSOperation start] + 731 9 com.apple.Foundation 0x00007fff2fbd952e NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 10 com.apple.Foundation 0x00007fff2fbd93f8 __NSOQSchedule_f + 182 11 libdispatch.dylib 0x00007fff64b65134 _dispatch_block_async_invoke2 + 83 12 libdispatch.dylib 0x00007fff64b5950e _dispatch_client_callout + 8 13 libdispatch.dylib 0x00007fff64b5b6c0 _dispatch_continuation_pop + 414 14 libdispatch.dylib 0x00007fff64b5adbe _dispatch_async_redirect_invoke + 703 15 libdispatch.dylib 0x00007fff64b677e2 _dispatch_root_queue_drain + 326 16 libdispatch.dylib 0x00007fff64b67f22 _dispatch_worker_thread2 + 92 17 libsystem_pthread.dylib 0x00007fff64db36b6 _pthread_wqthread + 220 18 libsystem_pthread.dylib 0x00007fff64db2827 start_wqthread + 15

saschaeggi commented 4 years ago

+1

saschaeggi commented 4 years ago

I can successfully edit "DarkAquaAppearance.car" but not "SystemAppearance.car". ThemeEngine crashes when I want to edit SystemAppearance.

grafikartes commented 4 years ago

I tried with the update to 10.15.3 beta but it didn't solve.

NLasagna commented 4 years ago

Maybe same situation, just force closed. I don't know if it's helpful.

Thread 3 crashed with X86 Thread State (64-bit): rax: 0x0000000000000000 rbx: 0x0000600003b48230 rcx: 0x00006000016d8060 rdx: 0x0000000000000002 rdi: 0x000001fe00001000 rsi: 0x0000000000000000 rbp: 0x0000700009431af0 rsp: 0x0000700009431ae8 r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x00007fff9319e288 r11: 0x00007fff9319e280 r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x00007fdb6a51df50 r15: 0x0000000000000000 rip: 0x00007fff31c92cff rfl: 0x0000000000010246 cr2: 0x000001fe00001000

chris1111 commented 4 years ago

Same here it Crash

ghost commented 4 years ago

Editing previous comment because I tried something new and the previous rendition wasn't useful anyway:

When building from source you'll notice that ThemeEngine closes on opening SystemAppearance.car

Delete the line in the code or exclude it from being built and leave it in the existing code for future reference if (facet_tree == NULL)

By building from source you can now do the following at the same time from the same ThemeEngine build... Assets.car can also be opened now. Attached is a screenshot of a 10.15.3 DarkAppearance.car opened on Catalina 10.15.3 Attached is a screenshot of a 10.15.3 SystemAppearance.car opened on Catalina 10.15.3

Screen Shot 2020-02-05 at 03 32 09
mrgooge commented 4 years ago

I tried to compile, but get an error... "Showing Recent Issues There are no accounts registered with Xcode. Add your developer account to Xcode" and " Showing Recent Issues

Build target ThemeEngine of project ThemeEngine with configuration Debug error: No signing certificate "Mac Development" found: No "Mac Development" signing certificate matching team ID "3GD8ABJ22W" with a private key was found. (in target 'ThemeEngine' from project 'ThemeEngine') error: There are no accounts registered with Xcode. Add your developer account to Xcode (in target 'ThemeEngine' from project 'ThemeEngine')"

@MUI68K anyway to get your build?

ghost commented 4 years ago

@MUI68K anyway to get your build?

Can you write an e-mail to allannyholm@me.com? I don't know if I can share directly here when I've changed actual code and not just building it directly from source with no change. I will provide a link that you can download from then.

mihailsalari commented 4 years ago

has somebody found a fix?

ghost commented 4 years ago

has somebody found a fix?

I don't know if my build of ThemeEngine is a fix, but it does work and as a far as being a fix - I fixed it for me and those who contacted me hasn't returned with a complaint that it doesn't work.

The code that I suggest cutting away is in the ThemeKit portion - but it's easiest to find when you build ThemeEngine from existing source and ThemeEngine then crashes upon opening SystemAppearance.car - the string I suggest is highlighted as being an error. That's how I initially played around with what I wrote earlier.

grafikartes commented 4 years ago

@ MUI68K, thank you very much, works perfectly

chris1111 commented 4 years ago

Please post here a working app

ghost commented 4 years ago

@chris1111 And everyone.

Link taken down because the latest fork of ThemeEngine available here https://github.com/jslegendre/ThemeEngine/releases/tag/v1.0.0(114)

Works on macOS Catalina and macOS Big Sur too.

There's a description here https://github.com/jslegendre/ThemeEngine on how to edit and replace themes on Big Sur.

chris1111 commented 4 years ago

@chris1111 And everyone.

Here's the link to the app that I wrote about above: https://jumpshare.com/v/JzSfz8FEGwxqdPIXg23T+/ThemeEngine.zip

I'll leave it there for the time being.

Thanks its work 👍🏻

mbert commented 4 years ago

if (facet_tree == NULL)

You mean something like this?

    BOMTreeRef facet_tree = TKIvar(self.storage, BOMTreeRef, _facetKeysdb);
    //if (facet_tree == NULL)
        return;

So that means that the whole rest of the function should always be skipped? Why should it then be called at all?

mbert commented 4 years ago

Here's the link to the app that I wrote about above: https://jumpshare.com/v/JzSfz8FEGwxqdPIXg23T+/ThemeEngine.zip

Thank you, I have tried it. It does not crash, but it shows some really weird behaviour: When editing a .car file, the list of resources in the middle column will always scroll to the bottom by itself when the window is in foreground. That makes it pretty useless for editing. Any idea why and how to fix it?

ghost commented 4 years ago

Here's the link to the app that I wrote about above: https://jumpshare.com/v/JzSfz8FEGwxqdPIXg23T+/ThemeEngine.zip

Thank you, I have tried it. It does not crash, but it shows some really weird behaviour: When editing a .car file, the list of resources in the middle column will always scroll to the bottom by itself when the window is in foreground. That makes it pretty useless for editing. Any idea why and how to fix it?

I can't answer that - I have however looked into this issue as bugs me too. One other developer has a push to ThemeEngine that relates to the scroll function and this particular behaviour - although on an older version of ThemeEngine. I hope that Alex chimes in here soon to help a bit.

Initially I just wanted the application to function again by opening and saving .car files. Also, it's not that useless as such for editing if you use the Group By = Scale to show the assets you only want to see and then search for your assets also. With that said, I think this app can get better, but I have no experience coding much of anything. It was by pure chance that I figured out how to not have the application crash all the time on certain .car files on macOS Catalina -> 10.15.3

mbert commented 4 years ago

One other developer has a push to ThemeEngine that relates to the scroll function and this particular behaviour - although on an older version of ThemeEngine.

Thank you, I have contacted the author of that patch to find out how exactly he fixed it (the PR is not mergable because it contains lots of other changes made by XCode that don't fit to what is in the repository).

Initially I just wanted the application to function again by opening and saving .car files. Also, it's not that useless as such for editing if you use the Group By = Scale to show the assets you only want to see and then search for your assets also.

Yeah, that's how I was able to get productive, too. However it is still unnecessary trouble.

And I would still really like to find out what the underlying problem for the crash is.

ghost commented 4 years ago

Okay, so I've made the scrolling stop and added Affinity Photo export capability. Importing from Affinity Photo isn't happening at the moment.

One other developer has a push to ThemeEngine that relates to the scroll function and this particular behaviour - although on an older version of ThemeEngine.

Thank you, I have contacted the author of that patch to find out how exactly he fixed it (the PR is not mergable because it contains lots of other changes made by XCode that don't fit to what is in the repository).

Initially I just wanted the application to function again by opening and saving .car files. Also, it's not that useless as such for editing if you use the Group By = Scale to show the assets you only want to see and then search for your assets also.

Yeah, that's how I was able to get productive, too. However it is still unnecessary trouble.

And I would still really like to find out what the underlying problem for the crash is.

Okay, so I've made the scrolling stop and added Affinity Photo export capability. Importing from Affinity Photo isn't happening at the moment.

Shoot me an email if you would like to take a look. I will explain what I did in a seperate comment if can backtrace the steps properly.

mbert commented 4 years ago

Okay, so I've made the scrolling stop and added Affinity Photo export capability. Importing from Affinity Photo isn't happening at the moment.

Shoot me an email if you would like to take a look. I will explain what I did in a seperate comment if can backtrace the steps properly.

Cool. Can you send me your patch? If you are not familiar with using git and creating pull requests, you might just (in a terminal window) run the following: git diff >scrollstop.patch and send me the file scrollstop.patch, then I can try things out and create a pull request from the result?

ghost commented 4 years ago

If only that command worked.. I mean,,, I'm only greeted with the options for git diff

And, I am not all comfortable with using git - because I fuck up I think -

mbert commented 4 years ago

If only that command worked.. I mean,,, I'm only greeted with the options for git diff

You're inside the ThemeEngine directory cloned from github?

ghost commented 4 years ago

If only that command worked.. I mean,,, I'm only greeted with the options for git diff

You're inside the ThemeEngine directory cloned from github?

Yes,, I am inside the main cloned (copy) of the downloaded repository - not within the ThemeEngine folder within that folder... is that the trick?

mbert commented 4 years ago

Like this:

Screenshot 2020-04-05 at 18 38 57
mbert commented 4 years ago

And then just attach that file to your next comment. I'll do the rest :)

ghost commented 4 years ago

I think I have problems because I'm working locally and not using the Github program. Can I import what I have done and import that to the Github app for better getting that command to work?

ghost commented 4 years ago

which one do I stay in? I don't think I'm dumb, but there's no content in the output because the diff fails
https://jumpshare.com/v/MdDwmenIsmi3aouTRKs3

https://jumpshare.com/v/jxKTKS3GI0ImasSVxFnS

mbert commented 4 years ago

Oh, I guess you downloaded the ZIP file rather than cloning the code in git?

If that is the case, you can proceed as follows.

From the github site, after clicking the green button for downloading, click the icon on the right: Screenshot 2020-04-05 at 18 53 13

Now, in a terminal window, in a directory different from the one where you have your code checked out, say in ~/Desktop, enter the command git clone followed by Cmd-V for pasting from the clipboard and then the return key.

After that you have a fresh copy of the git repo, say in ~/Desktop/ThemeEngine.

Now, still in the terminal, enter the directory where your work is, say in ~/src/ThemeEngine (use the directory where it really is). From that directory, enter: cp -r * ~/Desktop/ThemeEngine

This copies your changes into the fresh workspace. Then, enter your fresh workspace: cd ~/Desktop/ThemeEngine. Now this should work: git diff >noscroll.patch

I think your problem is simply that you did not clone a git workspace but downloaded a copy of the code without the git metadata instead (because that's what you get when you download the zip).

ghost commented 4 years ago

finally --- this is finally the patch. This is very unusual for me. scrollpatch.patch.zip

mbert commented 4 years ago

Great, I'll look now!

MoonPadUSer commented 4 years ago

Is there any way someone could upload a final build?

ghost commented 4 years ago

Great, I'll look now!

What's the verdict if I may ask?

mbert commented 4 years ago

Give me a few more minutes. I am sorting things, building some clean git commits and will upload them soon.

As we're at it: You also commented out code in _enumerateColors, is there another crash that you tried to avoid? For me the change in _enumerateFacets was sufficient.

ghost commented 4 years ago

Give me a few more minutes. I am sorting things, building some clean git commits and will upload them soon.

As we're at it: You also commented out code in _enumerateColors, is there another crash that you tried to avoid? For me the change in _enumerateFacets was sufficient.

I think that I made a mistake then when reading my previous fix.. I didn't mean to comment out that _enumerateColors code. Although, this also helps with fixing the crash.

I will say that trying entering the "CoreStructuredImage" section in the sidebar will crash hard.

mbert commented 4 years ago

OK, here's a pull request. Hope that @alexzielenski agrees to merge it. Otherwise now at least others will be able to build it. Please see the text from PR #54 for build instructions.

I have created an inofficial build from the code. You can download it here: https://drive.google.com/file/d/1SJAL-O3dxmwys4cHubYZxN6Z6-h6vBkb/view?usp=sharing

MoonPadUSer commented 4 years ago

I downloaded it and it said "“ThemeEngine.app” is damaged and can’t be opened. You should move it to the Bin."

ghost commented 4 years ago

@mbert Great job getting this put together - I am currently afraid of using Github Desktop - might change that fear down the line.

ghost commented 4 years ago

I downloaded it and it said "“ThemeEngine.app” is damaged and can’t be opened. You should move it to the Bin."

Did you Right Click the app and select Open? this could help

MoonPadUSer commented 4 years ago

Ah, I see, I had this Issue before, just didn't remember how to solve it

mbert commented 4 years ago

I downloaded it and it said "“ThemeEngine.app” is damaged and can’t be opened. You should move it to the Bin."

Yes, this is expected, because the app is not signed by anyone trusted (I am not to be trusted g).

You will need to go into your security tab in the System Preferences and unlock using the app.

mbert commented 4 years ago

@mbert Great job getting this put together - I am currently afraid of using Github Desktop - might change that fear down the line.

Git is an excellent way of organising your work, because it opens up a way back in time if you feel that you have messed up things and don't know what. It's definitely worth looking into it!

For me it's one of the most important tools I use at work.

ghost commented 4 years ago

@mbert Great job getting this put together - I am currently afraid of using Github Desktop - might change that fear down the line.

Git is an excellent way of organising your work, because it opens up a way back in time if you feel that you have messed up things and don't know what. It's definitely worth looking into it!

For me it's one of the most important tools I use at work.

yeah, you wouldn't believe how many 'begin again, Allan'-episodes I've had.

Btw... I think the Affinity export thing might not appeal to everyone - I made that change because I don't have Photoshop. Others might still use that. It's made out of a pure personal preference and to test out Affinity that way - seeing if it would allow stuff from ThemeEngine

MoonPadUSer commented 4 years ago

I downloaded it and it said "“ThemeEngine.app” is damaged and can’t be opened. You should move it to the Bin."

Yes, this is expected, because the app is not signed by anyone trusted (I am not to be trusted g).

You will need to go into your security tab in the System Preferences and unlock using the app.

Nah, it doesn't even appear there, I think I need to do "chmod +x ThemeEngine" in Contents/MacOS but I am not entirely sure

Ok, I got it, just did xattr -cr ThemeEngine.app

ghost commented 4 years ago

I downloaded it and it said "“ThemeEngine.app” is damaged and can’t be opened. You should move it to the Bin."

Yes, this is expected, because the app is not signed by anyone trusted (I am not to be trusted g). You will need to go into your security tab in the System Preferences and unlock using the app.

Nah, it doesn't even appear there, I think I need to do "chmod +x ThemeEngine" in Contents/MacOS but I am not entirely sure

tried that and that doesn't work here: Instead I do this in Terminal: sudo spctl --master-disable

ghost commented 4 years ago

OK, here's a pull request. Hope that @alexzielenski agrees to merge it. Otherwise now at least others will be able to build it. Please see the text from PR #54 for build instructions.

I have created an inofficial build from the code. You can download it here: https://drive.google.com/file/d/1SJAL-O3dxmwys4cHubYZxN6Z6-h6vBkb/view?usp=sharing

Hey, what are your feelings if I share your compiled(and the link to your Github page for ThemeEngine) version on my DeviantART profile where I already have an explaination about how to theme macOS Catalina? I could of course share my own compiled version, but I'd rather link to the ThemeEngine version on your Google Drive if possible?! Thanks.

mbert commented 4 years ago

That's fine for me!

ghost commented 4 years ago

This isn't a relevant post anymore as it was late and I wasn't thinking properly

mbert commented 4 years ago

I won't be able to look into this before this evening. Take your time to check everything, based on my code. Then send me another patch if you find an issue to fix.