Internals: Removed unnecessary allocation indirection for g.LogClipboard (this only made sense when there was a global context instance)

This commit is contained in:
omar 2018-05-07 22:15:25 +02:00
parent 35e74c72ab
commit 023cc25c7c
2 changed files with 6 additions and 10 deletions

View File

@ -3669,7 +3669,6 @@ void ImGui::Initialize(ImGuiContext* context)
{
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 @@ void ImGui::Shutdown(ImGuiContext* context)
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 @@ void ImGui::LogText(const char* fmt, ...)
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 @@ void ImGui::LogFinish()
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;
}

View File

@ -683,7 +683,7 @@ struct ImGuiContext
// 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 @@ struct ImGuiContext
LogEnabled = false;
LogFile = NULL;
LogClipboard = NULL;
LogStartDepth = 0;
LogAutoExpandMaxDepth = 2;