diff --git a/graf2d/gpad/src/TCanvas.cxx b/graf2d/gpad/src/TCanvas.cxx index 2082e7d4a392c..762ea448e751a 100644 --- a/graf2d/gpad/src/TCanvas.cxx +++ b/graf2d/gpad/src/TCanvas.cxx @@ -804,10 +804,6 @@ void TCanvas::Close(Option_t *option) TPad::Close(option); if (!IsBatch() && !IsWeb()) { - //select current canvas - if (fPainter) - fPainter->SelectDrawable(fCanvasID); - DeleteCanvasPainter(); if (fCanvasImp) diff --git a/gui/gui/src/TRootCanvas.cxx b/gui/gui/src/TRootCanvas.cxx index 4f04f830db9c7..cfbe44023c694 100644 --- a/gui/gui/src/TRootCanvas.cxx +++ b/gui/gui/src/TRootCanvas.cxx @@ -726,7 +726,11 @@ void TRootCanvas::Close() else gged->Hide(); } - gVirtualX->CloseWindow(); + if (fCanvasID != -1) { + gVirtualX->SelectWindow(fCanvasID); + gVirtualX->CloseWindow(); + fCanvasID = -1; + } } ////////////////////////////////////////////////////////////////////////////////