X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=vtk%2Fsrc%2Fvtk%2FvtkJavaDep.java;h=0377199e106ffde0ed74802a5f147a5d45d9f936;hb=efb52587babd1b858c8e77fedc44a5b4ef0c1088;hp=626593928624f572e72e861619987d849ce7fc9a;hpb=336547b043ca6e4b7b9b1ebb0a1b0a051ccdef01;p=simantics%2F3d.git diff --git a/vtk/src/vtk/vtkJavaDep.java b/vtk/src/vtk/vtkJavaDep.java index 62659392..0377199e 100644 --- a/vtk/src/vtk/vtkJavaDep.java +++ b/vtk/src/vtk/vtkJavaDep.java @@ -120,20 +120,28 @@ public class vtkJavaDep { "vtkIOImportJava", }; + + private static boolean loaded = false; + static void load() { + if (!loaded) { - static { - try { - Class.forName("java.awt.Toolkit"); - } catch (ClassNotFoundException e) { - throw new IllegalStateException(e); - } + 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); - } - - static void load() { + for (String lib : libs) + System.loadLibrary(lib); + loaded = true; + } } }