chore: don't report crashes when shutting down the game, if no devplugin is loaded

This commit is contained in:
goat 2023-03-20 20:15:24 +01:00
parent 4f1257e79b
commit ec0f52b7c3
No known key found for this signature in database
GPG key ID: 49E2AA8C6A76498B
4 changed files with 41 additions and 1 deletions

View file

@ -11,6 +11,7 @@ using Dalamud.Game.Gui.Internal;
using Dalamud.Interface.Internal;
using Dalamud.Plugin.Internal;
using Dalamud.Utility;
using PInvoke;
using Serilog;
#if DEBUG
@ -103,6 +104,16 @@ internal sealed class Dalamud : IServiceType
public void Unload()
{
Log.Information("Trigger unload");
var reportCrashesSetting = Service<DalamudConfiguration>.GetNullable()?.ReportShutdownCrashes ?? true;
var pmHasDevPlugins = Service<PluginManager>.GetNullable()?.InstalledPlugins.Any(x => x.IsDev) ?? false;
if (!reportCrashesSetting && !pmHasDevPlugins)
{
// Leaking on purpose for now
var attribs = Kernel32.SECURITY_ATTRIBUTES.Create();
Kernel32.CreateMutex(attribs, false, "DALAMUD_CRASHES_NO_MORE");
}
this.unloadSignal.Set();
}