Hi!
We got a bug reported by one of our customers and I remember we had a similar topic ages ago (versions 2704 and 3325 I guess).
Sometimes after reparenting the browser ui doesn't refresh anymore and paints the java controls over it for a rectangle and the rest of the browser is simply black.
I could reproduce it in the detailed MainFrame, see:
How to reproduce:
[*]Start detailed MainFrame
[*]Test reparenting (Menu -> Tests -> Reparent)
[*]In newly opened window press Reparent button as fast as you can (or after first click use space bar, that's even faster)
After some time the problem can be reproduced.
When the problem occured the browser can't be fixed, it never paints the actual HTML that it should.
But in the background everything works fine. For example if you enter a URL and load it, you see in the logging that the actual page should be loaded correctly.
So I guess that only a window handle or something like that is wrong.
Environment:
JCEF versions 4147 (currently productive on customer site) and 6261 (currently upgraded internally).
Windows 10/11 with 32 bit jcef binaries, windowed rendering
I already checked the java code, everything should be fine (panel and canvas are correctly added to the frame, the content_rect is the correct size).
I fear that the problem lies in the native part of jcef.
If you take a closer look on the image, you see that the size the part that paints the java window is exactly the same size as the reparent window, everything else is black and not painted.
If you change the size of the reparent window and reparent again, the black region changes and adapts to the new size of the reparent window.
Does somebody know where to start?
I'll investigate more in the native part of jcef, but I'm far more better on java side, so some direction to start with would be great!