X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fglretrace_glx.cpp;h=4ab3d676c189f4984fbc0bb1b6c329c4037e5d86;hb=72b6644225bc5e4cc621cb0721c61fd2ac322330;hp=918940f06d5e27c4a6e196279a119dc0fe41304f;hpb=958d980c85810ed01ad45f8c2af924368dde20f4;p=apitrace diff --git a/retrace/glretrace_glx.cpp b/retrace/glretrace_glx.cpp index 918940f..4ab3d67 100644 --- a/retrace/glretrace_glx.cpp +++ b/retrace/glretrace_glx.cpp @@ -112,9 +112,13 @@ static void retrace_glXDestroyContext(trace::Call &call) { } static void retrace_glXSwapBuffers(trace::Call &call) { + glws::Drawable *drawable = getDrawable(call.arg(1).toUInt()); + frame_complete(call); if (retrace::doubleBuffer) { - currentDrawable->swapBuffers(); + if (drawable) { + drawable->swapBuffers(); + } } else { glFlush(); } @@ -135,11 +139,8 @@ static void retrace_glXCreatePbuffer(trace::Call &call) { unsigned long long orig_drawable = call.ret->toUInt(); - glws::Drawable *drawable = glretrace::createDrawable(); + glws::Drawable *drawable = glretrace::createPbuffer(width, height); - drawable->resize(width, height); - drawable->show(); - drawable_map[orig_drawable] = drawable; }