Replace Wgl.GetCurrentDC with cached dc

with
This commit is contained in:
Stefanos A. 2013-12-18 14:51:00 +01:00
parent ea1dbf7f5e
commit 93e7b896c2

View file

@ -29,6 +29,7 @@ namespace OpenTK.Platform.Windows
{
static readonly object LoadLock = new object();
IntPtr device_context;
bool vsync_supported;
readonly WinGraphicsMode ModeSelector;
@ -210,7 +211,7 @@ namespace OpenTK.Platform.Windows
// side-effects (i.e. the old contexts can still be handled
// using the new entry points.)
// Sigh...
Wgl.MakeCurrent(window.DeviceContext, Handle.Handle);
MakeCurrent(window);
Wgl.LoadAll();
if (sharedContext != null)
@ -284,11 +285,15 @@ namespace OpenTK.Platform.Windows
success = Wgl.MakeCurrent(IntPtr.Zero, IntPtr.Zero);
}
device_context = wnd.DeviceContext;
if (!success)
{
throw new GraphicsContextException(String.Format(
"Failed to make context {0} current. Error: {1}", this, Marshal.GetLastWin32Error()));
}
}
}
#endregion
@ -435,11 +440,10 @@ namespace OpenTK.Platform.Windows
{
get
{
return Wgl.GetCurrentDC();
return device_context;
}
}
#endregion
#endregion