The Query Explorer code is full of lines similar to the following:
QueryExplorer.getInstance().someMethod()
As the getInstance() contains access to the workbench, it only returns a non-null value if invoked from a display thread, so anytime the code is invoked from a non-display thread, it will throw an NPE.
Possible solutions:
make sure getInstance() is called only inside the display thread
make sure that the result of getInstance() is always checked for nullness before invoking anything on it.
The Query Explorer code is full of lines similar to the following:
As the getInstance() contains access to the workbench, it only returns a non-null value if invoked from a display thread, so anytime the code is invoked from a non-display thread, it will throw an NPE.
Possible solutions: