Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 283501 Details for
Bug 564911
[webkit2][GTK3] Deadlock when closing windows with an embedded webkit view
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Timeout-for-deadlock
eclipse.platform.swt.patch (text/plain), 1.56 KB, created by
Alexander Diewald
on 2020-07-03 12:00:04 EDT
(
hide
)
Description:
Timeout-for-deadlock
Filename:
MIME Type:
Creator:
Alexander Diewald
Created:
2020-07-03 12:00:04 EDT
Size:
1.56 KB
patch
obsolete
>diff --git a/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java b/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java >index 7d475d3..bc2d71b 100644 >--- a/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java >+++ b/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java >@@ -1891,13 +1891,23 @@ > * You should check 'retObj.swtAsyncTimeout' after making a call to this. > */ > private static Webkit2AsyncReturnObj execAsyncAndWaitForReturn(Browser browser, Consumer<Integer> asyncFunc, String additionalErrorInfo) { >+ class CtxIteration implements Runnable { >+ boolean eventsDispatched; >+ >+ @Override >+ public void run() { >+ eventsDispatched = OS.g_main_context_iteration (0, false); >+ } >+ } >+ > Webkit2AsyncReturnObj retObj = new Webkit2AsyncReturnObj(); > int callbackId = CallBackMap.putObject(retObj); > asyncFunc.accept(callbackId); > Display display = browser.getDisplay(); > final Instant timeOut = Instant.now().plusMillis(ASYNC_EXEC_TIMEOUT_MS); > while (!browser.isDisposed()) { >- boolean eventsDispatched = OS.g_main_context_iteration (0, false); >+ CtxIteration ctxIteration = new CtxIteration(); >+ display.asyncExec(ctxIteration); > if (retObj.callbackFinished) > break; > else if (Instant.now().isAfter(timeOut)) { >@@ -1916,7 +1926,7 @@ > retObj.swtAsyncTimeout = true; > break; > } >- else if (!eventsDispatched) >+ else if (!ctxIteration.eventsDispatched) > display.sleep(); > } > CallBackMap.removeObject(callbackId);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 564911
:
283501
|
283507
|
283508