yueying0083 / javachromiumembedded

Automatically exported from code.google.com/p/javachromiumembedded
0 stars 0 forks source link

CefApp.dispose() called on wrong position #102

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The call of the CefApp.dispose() method within tests.detailed.MainFrame and 
tests.simple.MainFrame is called in wrong order. 

CefApp should be disposed before the Frame (which contains the browser UI) is 
disposed.

See attached file for a fix.

Original issue reported on code.google.com by k...@censhare.de on 3 Jul 2014 at 9:50

Attachments:

GoogleCodeExporter commented 9 years ago
@k Do you assume System.exit(0) must be invoked after that?
See Issue 97

Original comment by christop...@gmail.com on 3 Jul 2014 at 3:57

GoogleCodeExporter commented 9 years ago
@Comment#2: hi Christoph,
 Normally it should work without System.Exit but it seems to be that there are some non frreed references in Java or the JNI part. The timer around system exit was a workaround to give CEF enough time to shutdown itself. 

This bugfix only switches the call order of CefApp.dispose() and 
Frame.dispose() because it doesn't make sense to free the parent view before 
its child views are freed.

Original comment by k...@censhare.de on 3 Jul 2014 at 5:49

GoogleCodeExporter commented 9 years ago
Thanks, fixed in revision 98.

Original comment by magreenb...@gmail.com on 10 Jul 2014 at 5:02