Here's what I got from the debug log.

Backtrace:
=>1 0x7e43e9b3 shader_glsl_free+0x23(iface=0x19c4b8) [/home/andrew/wine/wine/dlls/wined3d/glsl_shader.c:3491] in wined3d (0x0032e918)
  2 0x7e41f318 IWineD3DDeviceImpl_Reset+0x198(iface=0x19c4b8, pPresentationParameters=0x32e9c0) [/home/andrew/wine/wine/dlls/wined3d/device.c:7237] in wined3d (0x0032e998)
  3 0x7e4f33ce IDirect3DDevice9Impl_Reset+0x1ae(iface=<register EDI not in topmost frame>, pPresentationParameters=0x1b9f848) [/home/andrew/wine/wine/dlls/d3d9/device.c:381] in d3d9 (0x0032ea08)
  4 0x008d31a1 in everquest2 (+0x4d31a1) (0x0032ea3c)
0x7e43e9b3 shader_glsl_free+0x23 [/home/andrew/wine/wine/dlls/wined3d/glsl_shader.c:3491] in wined3d: movl    0x8(%esi),%eax
3491        if(priv->depth_blt_glsl_program_id) {

Last couple of debug lines before wine crashes:

trace:d3d:IWineD3DDeviceImpl_EnumResources enumerating resource 0x2cf01a0
trace:d3d:reset_unload_resources Unloading resource 0x2cf01a0
trace:d3d:IWineD3DDeviceImpl_QueryInterface (0x19c4b8)->({3c2aebf6-6f30-11d9-c687-00046142c14f},0x32e898)
trace:d3d:IWineD3DDeviceImpl_EnumResources enumerating resource 0x2cf0080
trace:d3d:reset_unload_resources Unloading resource 0x2cf0080
trace:d3d:IWineD3DSwapChainImpl_QueryInterface (0x1b1170)->({3c2aebf6-6f30-11d9-c687-00046142c14f},0x32e898)
trace:d3d:IWineD3DDeviceImpl_EnumResources enumerating resource 0x1b1818
trace:d3d:reset_unload_resources Unloading resource 0x1b1818
trace:d3d:IWineD3DSwapChainImpl_QueryInterface (0x1b1170)->({3c2aebf6-6f30-11d9-c687-00046142c14f},0x32e898)

On Thu, Jul 17, 2008 at 8:31 PM, H. Verbeet <hverbeet@gmail.com> wrote:
2008/7/17 Andrew Fenn <andrewfenn@gmail.com>:
> Not sure, I just figured it was the program that was doing it? I'll try and
> figure it out and reply back to you as soon as I can.
>
Obvious candidates would be Reset or Uninit3D in device.c, but at
first sight those appear to be safe to call multiple times.