From 1b29c40a6f4d14e9684d5f2d6df323f2a0682ea0 Mon Sep 17 00:00:00 2001
From: Olivier Couet <Olivier.Couet@cern.ch>
Date: Thu, 26 Apr 2012 13:35:34 +0000
Subject: [PATCH] Protection added in Execute:Event in case somebody double
 click on a TPolyLine.

git-svn-id: http://root.cern.ch/svn/root/trunk@43961 27541ba8-7e3a-0410-8455-c3a389f83636
---
 graf2d/graf/src/TPolyLine.cxx | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/graf2d/graf/src/TPolyLine.cxx b/graf2d/graf/src/TPolyLine.cxx
index 82af1c2392d..21cb87b1a07 100644
--- a/graf2d/graf/src/TPolyLine.cxx
+++ b/graf2d/graf/src/TPolyLine.cxx
@@ -428,17 +428,19 @@ void TPolyLine::ExecuteEvent(Int_t event, Int_t px, Int_t py)
                      ymax + dyr*gPad->GetTopMargin());
          gPad->RangeAxis(xmin, ymin, xmax, ymax);
 
-      if (middle) {
-         for(i=0;i<np;i++) {
-            fX[i] = gPad->PadtoX(gPad->AbsPixeltoX(x[i]+dpx));
-            fY[i] = gPad->PadtoY(gPad->AbsPixeltoY(y[i]+dpy));
+      if (x && y) {
+         if (middle) {
+            for(i=0;i<np;i++) {
+               fX[i] = gPad->PadtoX(gPad->AbsPixeltoX(x[i]+dpx));
+               fY[i] = gPad->PadtoY(gPad->AbsPixeltoY(y[i]+dpy));
+            }
+         } else {
+            fX[ipoint] = gPad->PadtoX(gPad->AbsPixeltoX(pxold));
+            fY[ipoint] = gPad->PadtoY(gPad->AbsPixeltoY(pyold));
          }
-      } else {
-         fX[ipoint] = gPad->PadtoX(gPad->AbsPixeltoX(pxold));
-         fY[ipoint] = gPad->PadtoY(gPad->AbsPixeltoY(pyold));
+         delete [] x; x = 0;
+         delete [] y; y = 0;
       }
-      delete [] x; x = 0;
-      delete [] y; y = 0;
       gPad->Modified(kTRUE);
       gVirtualX->SetLineColor(-1);
    }
-- 
GitLab