From 0bc139fd05a6338c2c6c6d3556a09e00642a17cc Mon Sep 17 00:00:00 2001 From: bkuker Date: Mon, 2 Sep 2013 18:29:30 -0400 Subject: [PATCH] Fix issue #112, NPE in RocketFigure3d mouseDragged() The component can pick up a mouse drag event without a mouse press event if the mous is clicked and dragged while a modal dialog is open. The running simulations progress bar dialog is an example. To fix, do not process a mouse drag if a mouse press has not been recorded. --- core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java index 6fa4bc20d..2c3d84fde 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java @@ -234,6 +234,10 @@ public class RocketFigure3d extends JPanel implements GLEventListener { @Override public void mouseDragged(final MouseEvent e) { + //You can get a drag without a press while a modal dialog is shown + if (pressEvent == null) + return; + int dx = lastX - e.getX(); int dy = lastY - e.getY(); lastX = e.getX();