From c20414631b8a5dc40df351562ddd94c70e13dbdb Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Mon, 7 Aug 2023 12:28:53 +0100 Subject: [PATCH] JAL-244 Avoid working on the Ids Graphics object when we don't mean to --- src/jalview/gui/AnnotationLabels.java | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/jalview/gui/AnnotationLabels.java b/src/jalview/gui/AnnotationLabels.java index 255e1ff..56efe53 100755 --- a/src/jalview/gui/AnnotationLabels.java +++ b/src/jalview/gui/AnnotationLabels.java @@ -1244,10 +1244,7 @@ public class AnnotationLabels extends JPanel } else { - Graphics2D g2d = (Graphics2D) g; - Graphics dummy = g2d.create(); - int newAnnotationIdWidth = drawLabels(dummy, clip, width, false, - null); + int newAnnotationIdWidth = drawLabels(g, clip, width, false, null); width = Math.max(newAnnotationIdWidth, givenWidth); } drawLabels(g, clip, width, true, null); @@ -1271,7 +1268,7 @@ public class AnnotationLabels extends JPanel * @param fmetrics * FontMetrics if Graphics object g is null */ - public int drawLabels(Graphics g, boolean clip, int width, + public int drawLabels(Graphics g0, boolean clip, int width, boolean actuallyDraw, FontMetrics fmetrics) { if (clip) @@ -1279,6 +1276,20 @@ public class AnnotationLabels extends JPanel clip = Cache.getDefault("MOVE_SEQUENCE_ID_WITH_VISIBLE_ANNOTATIONS", true); } + Graphics g = null; + // create a dummy Graphics object if not drawing and one is supplied + if (g0 != null) + { + if (!actuallyDraw) + { + Graphics2D g2d = (Graphics2D) g0; + g = g2d.create(); + } + else + { + g = g0; + } + } int actualWidth = 0; if (g != null) { -- 1.7.10.2