Skip to content

Commit 079d2a9

Browse files
committed
[GTK] send a g_critical if SWT calls a function that failed to load
When a library function fails to load, the JNI wrapper returns 0 (or similar) for that function. There is no way to tell from the Java side that the function failed to work. This change prints a g_critical error so that it is somewhat detectable, at least by SWT devs, that something has gone wrong in the implementation. Ideally I would throw an unsatisfied link exception or something similar, but that would change a potentially minor error into a show stopper. For example, if we threw an exception the simple memory leak fixed in #2704 would have been throwing an exception all this time instead of silently not freeing the memory. This change is especially useful as we work on GTK4 which includes lots of breaking API changes in webkit.
1 parent e342819 commit 079d2a9

File tree

1 file changed

+1
-0
lines changed
  • bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/library

1 file changed

+1
-0
lines changed

bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/library/webkitgtk.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
} \
5353
if (handle) { \
5454
var = dlsym(handle, #name); \
55+
if (!var) { g_critical("SWT webkitgtk: Failed to load webkit function %s", #name); } \
5556
} \
5657
CHECK_DLERROR \
5758
initialized = 1; \

0 commit comments

Comments
 (0)