helix-toolkit
helix-toolkit copied to clipboard
Crash when logging off with windows key pressed twice
Hi,
i get this reproducable crash in the 3dview when i press log off with the windows short-cut
windows-Key + windows-Key (quick twice). Not Windows+L.
I could solve this by adding some null-checks.. im methode: DX11ImageSourceRenderer_OnNewBufferCreated
private void DX11ImageSourceRenderer_OnNewBufferCreated(object sender, Texture2DArgs e)
{
try
{
if (surfaceD3D == null)
{
logger.LogInformation("Create new D3DImageSource");
surfaceD3D = new DX11ImageSource(EffectsManager.AdapterIndex);
surfaceD3D.IsFrontBufferAvailableChanged += SurfaceD3D_IsFrontBufferAvailableChanged;
}
if (e.Texture != null)
{
surfaceD3D.SetRenderTargetDX11(e.Texture.Resource as Texture2D);
}
}
catch (Exception ex)
{
logger.LogError("Failed to create surfaceD3D. Ex: {0}", ex.Message);
hasBackBuffer = false;
if (surfaceD3D != null)
{
surfaceD3D.IsFrontBufferAvailableChanged -= SurfaceD3D_IsFrontBufferAvailableChanged;
}
RemoveAndDispose(ref surfaceD3D);
hasBackBuffer = false;
EndD3D();
ReinitializeEffectsManager();
return;
}
hasBackBuffer = false;
if (e.Texture != null)
{
hasBackBuffer = e.Texture.Resource is Texture2D;
}
OnImageSourceChanged(this, new DX11ImageSourceArgs(surfaceD3D));
if (hasBackBuffer)
{
logger.LogInformation("New back buffer is set.");
}
else
{
logger.LogInformation("Set back buffer failed.");
}
}
Could someone change this in the source-code?
Thanks.