DrawableMap::const_iterator it;
it = drawable_map.find(drawable_id);
if (it == drawable_map.end()) {
DrawableMap::const_iterator it;
it = drawable_map.find(drawable_id);
if (it == drawable_map.end()) {
ContextMap::const_iterator it;
it = context_map.find(context_ptr);
if (it == context_map.end()) {
ContextMap::const_iterator it;
it = context_map.find(context_ptr);
if (it == context_map.end()) {
unsigned long long orig_context = call.ret->toUIntPtr();
glws::Context *share_context = getContext(call.arg(2).toUIntPtr());
unsigned long long orig_context = call.ret->toUIntPtr();
glws::Context *share_context = getContext(call.arg(2).toUIntPtr());
unsigned long long orig_context = call.ret->toUIntPtr();
glws::Context *share_context = getContext(call.arg(2).toUIntPtr());
unsigned long long orig_context = call.ret->toUIntPtr();
glws::Context *share_context = getContext(call.arg(2).toUIntPtr());
glws::Drawable *new_drawable = getDrawable(call.arg(1).toUInt());
glws::Context *new_context = getContext(call.arg(2).toUIntPtr());
glws::Drawable *new_drawable = getDrawable(call.arg(1).toUInt());
glws::Context *new_context = getContext(call.arg(2).toUIntPtr());
-static void retrace_glXSwapBuffers(Trace::Call &call) {
- frame_complete(call.no);
+
+static void retrace_glXDestroyContext(trace::Call &call) {
+ glws::Context *context = getContext(call.arg(1).toUIntPtr());
+
+ if (!context) {
+ return;
+ }
+
+ delete context;
+}
+
+static void retrace_glXSwapBuffers(trace::Call &call) {
+ frame_complete(call);
unsigned long long orig_context = call.ret->toUIntPtr();
glws::Context *share_context = getContext(call.arg(3).toUIntPtr());
unsigned long long orig_context = call.ret->toUIntPtr();
glws::Context *share_context = getContext(call.arg(3).toUIntPtr());
glws::Drawable *new_drawable = getDrawable(call.arg(1).toUInt());
glws::Context *new_context = getContext(call.arg(3).toUIntPtr());
glws::Drawable *new_drawable = getDrawable(call.arg(1).toUInt());
glws::Context *new_context = getContext(call.arg(3).toUIntPtr());
//{"glXBindChannelToWindowSGIX", &retrace_glXBindChannelToWindowSGIX},
//{"glXBindSwapBarrierNV", &retrace_glXBindSwapBarrierNV},
//{"glXBindSwapBarrierSGIX", &retrace_glXBindSwapBarrierSGIX},
//{"glXBindChannelToWindowSGIX", &retrace_glXBindChannelToWindowSGIX},
//{"glXBindSwapBarrierNV", &retrace_glXBindSwapBarrierNV},
//{"glXBindSwapBarrierSGIX", &retrace_glXBindSwapBarrierSGIX},
//{"glXCreatePixmap", &retrace_glXCreatePixmap},
//{"glXCreateWindow", &retrace_glXCreateWindow},
//{"glXCushionSGI", &retrace_glXCushionSGI},
//{"glXCreatePixmap", &retrace_glXCreatePixmap},
//{"glXCreateWindow", &retrace_glXCreateWindow},
//{"glXCushionSGI", &retrace_glXCushionSGI},
//{"glXDestroyGLXPbufferSGIX", &retrace_glXDestroyGLXPbufferSGIX},
//{"glXDestroyGLXPixmap", &retrace_glXDestroyGLXPixmap},
//{"glXDestroyPbuffer", &retrace_glXDestroyPbuffer},
//{"glXDestroyGLXPbufferSGIX", &retrace_glXDestroyGLXPbufferSGIX},
//{"glXDestroyGLXPixmap", &retrace_glXDestroyGLXPixmap},
//{"glXDestroyPbuffer", &retrace_glXDestroyPbuffer},
//{"glXSet3DfxModeMESA", &retrace_glXSet3DfxModeMESA},
//{"glXSwapBuffersMscOML", &retrace_glXSwapBuffersMscOML},
{"glXSwapBuffers", &retrace_glXSwapBuffers},
//{"glXSet3DfxModeMESA", &retrace_glXSet3DfxModeMESA},
//{"glXSwapBuffersMscOML", &retrace_glXSwapBuffersMscOML},
{"glXSwapBuffers", &retrace_glXSwapBuffers},
- //{"glXSwapIntervalEXT", &retrace_glXSwapIntervalEXT},
- //{"glXSwapIntervalSGI", &retrace_glXSwapIntervalSGI},
+ {"glXSwapIntervalEXT", &retrace::ignore},
+ {"glXSwapIntervalSGI", &retrace::ignore},
//{"glXUseXFont", &retrace_glXUseXFont},
{"glXWaitForMscOML", &retrace::ignore},
{"glXWaitForSbcOML", &retrace::ignore},
{"glXWaitGL", &retrace::ignore},
{"glXWaitVideoSyncSGI", &retrace::ignore},
{"glXWaitX", &retrace::ignore},
//{"glXUseXFont", &retrace_glXUseXFont},
{"glXWaitForMscOML", &retrace::ignore},
{"glXWaitForSbcOML", &retrace::ignore},
{"glXWaitGL", &retrace::ignore},
{"glXWaitVideoSyncSGI", &retrace::ignore},
{"glXWaitX", &retrace::ignore},