From 738dbafdfeba67b68949ec3954440851a8bf7e09 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 26 Jan 2017 13:40:39 +0000 Subject: [PATCH] Try to maintain table's horizontal scroll values when changing event --- qrenderdoc/Windows/BufferViewer.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index ee1aa8368..924df21af 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -748,6 +748,10 @@ void BufferViewer::OnLogfileClosed() void BufferViewer::OnEventChanged(uint32_t eventID) { + int vsinHoriz = ui->vsinData->horizontalScrollBar()->value(); + int vsoutHoriz = ui->vsoutData->horizontalScrollBar()->value(); + int gsoutHoriz = ui->gsoutData->horizontalScrollBar()->value(); + ClearModels(); memset(&m_VSIn, 0, sizeof(m_VSIn)); @@ -912,7 +916,8 @@ void BufferViewer::OnEventChanged(uint32_t eventID) } } - m_Ctx->Renderer()->AsyncInvoke([this, draw, vbs, ib, ioffset](IReplayRenderer *r) { + m_Ctx->Renderer()->AsyncInvoke([this, draw, vbs, ib, ioffset, vsinHoriz, vsoutHoriz, + gsoutHoriz](IReplayRenderer *r) { rdctype::array idata; if(ib != ResourceId() && draw) @@ -1074,7 +1079,7 @@ void BufferViewer::OnEventChanged(uint32_t eventID) RT_UpdateAndDisplay(r); - GUIInvoke::call([this] { + GUIInvoke::call([this, vsinHoriz, vsoutHoriz, gsoutHoriz] { m_ModelVSIn->endReset(); m_ModelVSOut->endReset(); @@ -1089,6 +1094,10 @@ void BufferViewer::OnEventChanged(uint32_t eventID) ScrollToRow(m_ModelVSIn, ui->rowOffset->value()); ScrollToRow(m_ModelVSOut, ui->rowOffset->value()); ScrollToRow(m_ModelGSOut, ui->rowOffset->value()); + + ui->vsinData->horizontalScrollBar()->setValue(vsinHoriz); + ui->vsoutData->horizontalScrollBar()->setValue(vsoutHoriz); + ui->gsoutData->horizontalScrollBar()->setValue(gsoutHoriz); }); }); }