if(display == null || display.isDisposed())
return;
final int x = startX + ((endX - startX) * step ) / nbSteps;
final int y = startY + ((endY - startY) * step ) / nbSteps;
display.asyncExec(new AERunnable() {
public void runSupport() {
if(shell == null || shell.getShell() == null || shell.getShell().isDisposed())
return;
shell.getShell().setLocation(x,y);
}
});