diff options
| author | Ovnuniarchos | 2015-11-19 01:19:19 +0100 |
|---|---|---|
| committer | Ovnuniarchos | 2015-11-19 01:19:19 +0100 |
| commit | a9a330645b29152ccc29b6e075c0ebda24b03e37 (patch) | |
| tree | 2cf319ce8453dd295c40b809b4bf54527e4fe020 /platform/x11/context_gl_x11.cpp | |
| parent | 0f0dc1a5d328502343c5a902aec552fb01033504 (diff) | |
| parent | 94fdd01241749cb7a575ed5f9fa4c7bbb286901a (diff) | |
| download | godot-a9a330645b29152ccc29b6e075c0ebda24b03e37.tar.gz godot-a9a330645b29152ccc29b6e075c0ebda24b03e37.tar.zst godot-a9a330645b29152ccc29b6e075c0ebda24b03e37.zip | |
Diffstat (limited to 'platform/x11/context_gl_x11.cpp')
| -rw-r--r-- | platform/x11/context_gl_x11.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/platform/x11/context_gl_x11.cpp b/platform/x11/context_gl_x11.cpp index dc0dc063b..3db1f6da2 100644 --- a/platform/x11/context_gl_x11.cpp +++ b/platform/x11/context_gl_x11.cpp @@ -46,7 +46,6 @@ struct ContextGL_X11_Private { ::GLXContext glx_context; }; - void ContextGL_X11::release_current() { glXMakeCurrent(x11_display, None, NULL); @@ -56,10 +55,12 @@ void ContextGL_X11::make_current() { glXMakeCurrent(x11_display, x11_window, p->glx_context); } + void ContextGL_X11::swap_buffers() { glXSwapBuffers(x11_display,x11_window); } + /* static GLWrapperFuncPtr wrapper_get_proc_address(const char* p_function) { @@ -154,6 +155,9 @@ Error ContextGL_X11::initialize() { */ //glXMakeCurrent(x11_display, None, NULL); + XFree( vi ); + XFree( fbc ); + return OK; } @@ -164,12 +168,12 @@ int ContextGL_X11::get_window_width() { return xwa.width; } + int ContextGL_X11::get_window_height() { XWindowAttributes xwa; XGetWindowAttributes(x11_display,x11_window,&xwa); return xwa.height; - } @@ -189,6 +193,8 @@ ContextGL_X11::ContextGL_X11(::Display *p_x11_display,::Window &p_x11_window,con ContextGL_X11::~ContextGL_X11() { + release_current(); + glXDestroyContext( x11_display, p->glx_context ); memdelete( p ); } |
