glave: Fix xglCreateDevice replay code to not modify packet.

Fixes sporadic  crashes on multiple replays.
diff --git a/glave-generate.py b/glave-generate.py
index d65aafb..dfac716 100755
--- a/glave-generate.py
+++ b/glave-generate.py
@@ -2109,10 +2109,11 @@
         cd_body.append('                XGL_DEVICE device;')
         cd_body.append('                if (m_debugLevel > 0)')
         cd_body.append('                {')
-        cd_body.append('                    XGL_DEVICE_CREATE_INFO cInfo, *ci;')
+        cd_body.append('                    XGL_DEVICE_CREATE_INFO cInfo, *ci, *pCreateInfoSaved;')
         cd_body.append('                    // TODO what is the real list of layers to be running with??')
         cd_body.append('                    const XGL_CHAR * layersStr[2] = {(XGL_CHAR *) "DrawState", (XGL_CHAR *) "ObjectTracker"};')
         cd_body.append('                    XGL_LAYER_CREATE_INFO layerInfo;')
+        cd_body.append('                    pCreateInfoSaved = (XGL_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;')
         cd_body.append('                    ci = (XGL_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;')
         cd_body.append('                    while (ci->pNext != NULL)')
         cd_body.append('                        ci = (XGL_DEVICE_CREATE_INFO *) ci->pNext;')
@@ -2126,6 +2127,9 @@
         cd_body.append('                    cInfo.maxValidationLevel = (XGL_VALIDATION_LEVEL)((m_debugLevel <= 4) ? XGL_VALIDATION_LEVEL_0 + m_debugLevel : XGL_VALIDATION_LEVEL_0);')
         cd_body.append('                    pPacket->pCreateInfo = &cInfo;')
         cd_body.append('                    replayResult = m_xglFuncs.real_xglCreateDevice(remap(pPacket->gpu), pPacket->pCreateInfo, &device);')
+        cd_body.append('                    // restore the packet for next replay')
+        cd_body.append('                    ci->pNext = NULL;')
+        cd_body.append('                    pPacket->pCreateInfo = pCreateInfoSaved;')
         cd_body.append('                    if (xglDbgRegisterMsgCallback(g_fpDbgMsgCallback, NULL) != XGL_SUCCESS)')
         cd_body.append('                        glv_LogError("Failed to register xgl callback for replayer error handling\\n");')
         cd_body.append('                }')