From 67563520fff5a23956d091770eb6ad41da8a212a Mon Sep 17 00:00:00 2001 From: Shane Kelly Date: Sat, 9 Dec 2017 09:39:44 +0200 Subject: [PATCH] Stop using DisplayLocks for every MakeCurrent context call. --- src/OpenTK/Platform/X11/X11GLContext.cs | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/OpenTK/Platform/X11/X11GLContext.cs b/src/OpenTK/Platform/X11/X11GLContext.cs index f661ee4..e0763fa 100644 --- a/src/OpenTK/Platform/X11/X11GLContext.cs +++ b/src/OpenTK/Platform/X11/X11GLContext.cs @@ -319,14 +319,12 @@ namespace OpenTK.Platform.X11 Handle, System.Threading.Thread.CurrentThread.ManagedThreadId, Display)); bool result; - using (new XLock(Display)) + result = Glx.MakeCurrent(Display, IntPtr.Zero, IntPtr.Zero); + if (result) { - result = Glx.MakeCurrent(Display, IntPtr.Zero, IntPtr.Zero); - if (result) - { - currentWindow = null; - } + currentWindow = null; } + Debug.Print("{0}", result ? "done!" : "failed."); } else @@ -342,15 +340,16 @@ namespace OpenTK.Platform.X11 throw new InvalidOperationException("Invalid display, window or context."); } - using (new XLock(Display)) + result = Glx.MakeCurrent(Display, w.Handle, Handle); + if (result) { - result = Glx.MakeCurrent(Display, w.Handle, Handle); - if (result) - { - currentWindow = w; - } + currentWindow = w; } + + + + if (!result) { throw new GraphicsContextException("Failed to make context current."); @@ -488,10 +487,7 @@ namespace OpenTK.Platform.X11 if (IsCurrent) { - using (new XLock(display)) - { - Glx.MakeCurrent(display, IntPtr.Zero, IntPtr.Zero); - } + Glx.MakeCurrent(display, IntPtr.Zero, IntPtr.Zero); } using (new XLock(display)) { -- 2.7.4