diff --git a/imgui.cpp b/imgui.cpp index 8f727b0..318ea61 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -3669,7 +3669,6 @@ { ImGuiContext& g = *context; IM_ASSERT(!g.Initialized && !g.SettingsLoaded); - g.LogClipboard = IM_NEW(ImGuiTextBuffer)(); // Add .ini handle for ImGuiWindow type ImGuiSettingsHandler ini_handler; @@ -3736,9 +3735,7 @@ fclose(g.LogFile); g.LogFile = NULL; } - if (g.LogClipboard) - IM_DELETE(g.LogClipboard); - g.LogClipboard = NULL; + g.LogClipboard.clear(); g.Initialized = false; } @@ -4179,7 +4176,7 @@ if (g.LogFile) vfprintf(g.LogFile, fmt, args); else - g.LogClipboard->appendfv(fmt, args); + g.LogClipboard.appendfv(fmt, args); va_end(args); } @@ -7973,10 +7970,10 @@ fclose(g.LogFile); g.LogFile = NULL; } - if (g.LogClipboard->size() > 1) + if (g.LogClipboard.size() > 1) { - SetClipboardText(g.LogClipboard->begin()); - g.LogClipboard->clear(); + SetClipboardText(g.LogClipboard.begin()); + g.LogClipboard.clear(); } g.LogEnabled = false; } diff --git a/imgui.cpp b/imgui.cpp index 8f727b0..318ea61 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -3669,7 +3669,6 @@ { ImGuiContext& g = *context; IM_ASSERT(!g.Initialized && !g.SettingsLoaded); - g.LogClipboard = IM_NEW(ImGuiTextBuffer)(); // Add .ini handle for ImGuiWindow type ImGuiSettingsHandler ini_handler; @@ -3736,9 +3735,7 @@ fclose(g.LogFile); g.LogFile = NULL; } - if (g.LogClipboard) - IM_DELETE(g.LogClipboard); - g.LogClipboard = NULL; + g.LogClipboard.clear(); g.Initialized = false; } @@ -4179,7 +4176,7 @@ if (g.LogFile) vfprintf(g.LogFile, fmt, args); else - g.LogClipboard->appendfv(fmt, args); + g.LogClipboard.appendfv(fmt, args); va_end(args); } @@ -7973,10 +7970,10 @@ fclose(g.LogFile); g.LogFile = NULL; } - if (g.LogClipboard->size() > 1) + if (g.LogClipboard.size() > 1) { - SetClipboardText(g.LogClipboard->begin()); - g.LogClipboard->clear(); + SetClipboardText(g.LogClipboard.begin()); + g.LogClipboard.clear(); } g.LogEnabled = false; } diff --git a/imgui_internal.h b/imgui_internal.h index 411db88..9c6f504 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -683,7 +683,7 @@ // Logging bool LogEnabled; FILE* LogFile; // If != NULL log to stdout/ file - ImGuiTextBuffer* LogClipboard; // Else log to clipboard. This is pointer so our GImGui static constructor doesn't call heap allocators. + ImGuiTextBuffer LogClipboard; // Accumulation buffer when log to clipboard. This is pointer so our GImGui static constructor doesn't call heap allocators. int LogStartDepth; int LogAutoExpandMaxDepth; @@ -783,7 +783,6 @@ LogEnabled = false; LogFile = NULL; - LogClipboard = NULL; LogStartDepth = 0; LogAutoExpandMaxDepth = 2;