Conflict with CEF dll inside Photoshop

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Conflict with CEF dll inside Photoshop

Postby abizeau » Fri Feb 23, 2018 4:14 pm

Hello,

I have been working with a CEF application inside Photoshop for few days now. Everything goes right, except when I try my Plugin inside Photoshop CC 2018 (newer version).

Its seems to enter in conflict with Adobe Spaces plugin (come with the product), which this plugin already include CEF (based on what I see in the folder of this plugin, libcef.dll, AdobeSpaceHelper.exe, etc.)

When I try to start my Plugin, I got the following error:

The procedure entry point cef_load_crlsets_file cound not be located in the dynamic link library libcef.dll

Im trying to understand what wrong, maybe multiple libcef.dll are loaded in memory (but what is the change that I have the same CEF version compare to Photoshop CC 2018 ?)

Is there something I can do for that ? Note that I dont reach the CefInitialized or anything related to CEF inside my own code.
abizeau
Techie
 
Posts: 34
Joined: Thu Feb 15, 2018 7:07 pm

Re: Conflict with CEF dll inside Photoshop

Postby abizeau » Fri Feb 23, 2018 4:34 pm

I achieve to make the program works a bit with Photoshop CC 2018. I put all CEF dll and few of mine as Delay load in each of my project. And ensure to load the specific dll I need only for my own plugin.

Now, I can reach my PluginCEFHelper.dll, where I normally Init CEF on attach (so a single time).

But now, when I reach the:

Code: Select all
int exit_code = CefExecuteProcess(main_args, NULL, sandbox_info);


The debug code trigged a break point inside Photoshop.exe and I got the following output:

Code: Select all
[0223/162942.768:FATAL:libcef_dll_wrapper.cc(192)] Check failed: false.
Photoshop.exe has triggered a breakpoint.


If I continue, exit_code == 0, so I automaticly return, and its stop my Plugin right a way.

Anyone got an idea or a fix to that ?
abizeau
Techie
 
Posts: 34
Joined: Thu Feb 15, 2018 7:07 pm

Re: Conflict with CEF dll inside Photoshop

Postby magreenblatt » Fri Feb 23, 2018 4:57 pm

You can't initialize CEF multiple times in the same process. You'll either have to share the same CEF instance or move your usage into a separate executable and communicate with it via some form of IPC that your plugin implements.
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm

Re: Conflict with CEF dll inside Photoshop

Postby abizeau » Mon Feb 26, 2018 10:14 am

Thanks, This is what I was already trying to do.

So Im wondering, do CEF offer 3rd Party tools for IPC communication ? Or I have to use boost IPC or something like that ?

Because the thing is that I will have to start a sub-process, handle all my thing about Browser/renderer process in there, and have a shared memory to send the Input to that sub-process, but also to provide the output to the parent process, when the child is completed.
abizeau
Techie
 
Posts: 34
Joined: Thu Feb 15, 2018 7:07 pm

Re: Conflict with CEF dll inside Photoshop

Postby magreenblatt » Mon Feb 26, 2018 10:59 am

CEF doesn't provide anything for third-party IPC currently.
magreenblatt
Site Admin
 
Posts: 12408
Joined: Fri May 29, 2009 6:57 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 56 guests