From 782c35c96de2c1c9a17928055ab99a01b611ac73 Mon Sep 17 00:00:00 2001
From: Axel Naumann <Axel.Naumann@cern.ch>
Date: Tue, 18 Sep 2018 11:51:28 +0200
Subject: [PATCH] [gpadv7] Only load pointer lib once.

(cherry picked from commit 9482a9e0e4459e783700cb916e77248fa373e41b)
---
 graf2d/gpadv7/v7/src/RVirtualCanvasPainter.cxx | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/graf2d/gpadv7/v7/src/RVirtualCanvasPainter.cxx b/graf2d/gpadv7/v7/src/RVirtualCanvasPainter.cxx
index b32a57b107f..7a720b2f388 100644
--- a/graf2d/gpadv7/v7/src/RVirtualCanvasPainter.cxx
+++ b/graf2d/gpadv7/v7/src/RVirtualCanvasPainter.cxx
@@ -21,9 +21,15 @@
 #include <exception>
 
 namespace {
+static int LoadCanvasPainterLibraryOnce() {
+  static int loadResult = gSystem->Load("libROOTCanvasPainter");
+  if (loadResult != 0)
+     R__ERROR_HERE("Gpad") << "Loading of libROOTCanvasPainter failed!";
+  return loadResult;
+}
 static void LoadCanvasPainterLibrary() {
-  if (gSystem->Load("libROOTCanvasPainter") != 0)
-    R__ERROR_HERE("Gpad") << "Loading of libROOTCanvasPainter failed!";
+  static int loadResult = LoadCanvasPainterLibraryOnce();
+  (void) loadResult;
 }
 } // unnamed namespace
 
-- 
GitLab