X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=vtk%2Fsrc%2Fvtk%2FvtkJavaDep.java;h=0377199e106ffde0ed74802a5f147a5d45d9f936;hb=efb52587babd1b858c8e77fedc44a5b4ef0c1088;hp=dc1e6c29abbf4ef32c38d6b98274a53f5376c0f3;hpb=c39250eb0521cf4e6d69f472f4fdf9e8b877c6e4;p=simantics%2F3d.git diff --git a/vtk/src/vtk/vtkJavaDep.java b/vtk/src/vtk/vtkJavaDep.java index dc1e6c29..0377199e 100644 --- a/vtk/src/vtk/vtkJavaDep.java +++ b/vtk/src/vtk/vtkJavaDep.java @@ -120,14 +120,28 @@ public class vtkJavaDep { "vtkIOImportJava", }; - - - static { - for (String lib : libs) - System.loadLibrary(lib); - } - - static void load() { - - } + + private static boolean loaded = false; + + static void load() { + if (!loaded) { + + try { + Class.forName("java.awt.Toolkit"); + } catch (ClassNotFoundException e) { + throw new IllegalStateException(e); + } + try { + System.loadLibrary("jawt"); + } catch (UnsatisfiedLinkError e) { + // bypass potential load error. If jawt is not really loaded, we will get errors + // with VTK dlls. + } + + for (String lib : libs) + System.loadLibrary(lib); + + loaded = true; + } + } }