Fixes for MSVC static analyzers (wider range of versions). (#3938, #4073) + warning fix (#4089) + comments.
This commit is contained in:
parent
89162a04f4
commit
788e91aece
@ -4069,7 +4069,7 @@ void ImGui::NewFrame()
|
|||||||
g.CurrentWindowStack.resize(0);
|
g.CurrentWindowStack.resize(0);
|
||||||
g.BeginPopupStack.resize(0);
|
g.BeginPopupStack.resize(0);
|
||||||
g.ItemFlagsStack.resize(0);
|
g.ItemFlagsStack.resize(0);
|
||||||
g.ItemFlagsStack.push_back(ImGuiItemFlags_Default_);
|
g.ItemFlagsStack.push_back(ImGuiItemFlags_None);
|
||||||
g.GroupStack.resize(0);
|
g.GroupStack.resize(0);
|
||||||
ClosePopupsOverWindow(g.NavWindow, false);
|
ClosePopupsOverWindow(g.NavWindow, false);
|
||||||
|
|
||||||
@ -4554,6 +4554,7 @@ static void FindHoveredWindow()
|
|||||||
for (int i = g.Windows.Size - 1; i >= 0; i--)
|
for (int i = g.Windows.Size - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
ImGuiWindow* window = g.Windows[i];
|
ImGuiWindow* window = g.Windows[i];
|
||||||
|
IM_MSVC_WARNING_SUPPRESS(28182); // [Static Analyzer] Dereferencing NULL pointer.
|
||||||
if (!window->Active || window->Hidden)
|
if (!window->Active || window->Hidden)
|
||||||
continue;
|
continue;
|
||||||
if (window->Flags & ImGuiWindowFlags_NoMouseInputs)
|
if (window->Flags & ImGuiWindowFlags_NoMouseInputs)
|
||||||
@ -9509,6 +9510,7 @@ static void ImGui::NavEndFrame()
|
|||||||
static int ImGui::FindWindowFocusIndex(ImGuiWindow* window)
|
static int ImGui::FindWindowFocusIndex(ImGuiWindow* window)
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
|
IM_UNUSED(g);
|
||||||
int order = window->FocusOrder;
|
int order = window->FocusOrder;
|
||||||
IM_ASSERT(g.WindowsFocusOrder[order] == window);
|
IM_ASSERT(g.WindowsFocusOrder[order] == window);
|
||||||
return order;
|
return order;
|
||||||
@ -9716,7 +9718,7 @@ void ImGui::NavUpdateWindowingOverlay()
|
|||||||
for (int n = g.WindowsFocusOrder.Size - 1; n >= 0; n--)
|
for (int n = g.WindowsFocusOrder.Size - 1; n >= 0; n--)
|
||||||
{
|
{
|
||||||
ImGuiWindow* window = g.WindowsFocusOrder[n];
|
ImGuiWindow* window = g.WindowsFocusOrder[n];
|
||||||
IM_MSVC_WARNING_SUPPRESS(6011); // Static Analysis false positive "warning C6011: Dereferencing NULL pointer 'window'"
|
IM_ASSERT(window != NULL); // Fix static analyzers
|
||||||
if (!IsWindowNavFocusable(window))
|
if (!IsWindowNavFocusable(window))
|
||||||
continue;
|
continue;
|
||||||
const char* label = window->Name;
|
const char* label = window->Name;
|
||||||
|
@ -707,18 +707,17 @@ enum ImGuiItemFlags_
|
|||||||
ImGuiItemFlags_NoNavDefaultFocus = 1 << 4, // false
|
ImGuiItemFlags_NoNavDefaultFocus = 1 << 4, // false
|
||||||
ImGuiItemFlags_SelectableDontClosePopup = 1 << 5, // false // MenuItem/Selectable() automatically closes current Popup window
|
ImGuiItemFlags_SelectableDontClosePopup = 1 << 5, // false // MenuItem/Selectable() automatically closes current Popup window
|
||||||
ImGuiItemFlags_MixedValue = 1 << 6, // false // [BETA] Represent a mixed/indeterminate value, generally multi-selection where values differ. Currently only supported by Checkbox() (later should support all sorts of widgets)
|
ImGuiItemFlags_MixedValue = 1 << 6, // false // [BETA] Represent a mixed/indeterminate value, generally multi-selection where values differ. Currently only supported by Checkbox() (later should support all sorts of widgets)
|
||||||
ImGuiItemFlags_ReadOnly = 1 << 7, // false // [ALPHA] Allow hovering interactions but underlying value is not changed.
|
ImGuiItemFlags_ReadOnly = 1 << 7 // false // [ALPHA] Allow hovering interactions but underlying value is not changed.
|
||||||
ImGuiItemFlags_Default_ = 0
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Storage for LastItem data
|
// Storage for LastItem data
|
||||||
enum ImGuiItemStatusFlags_
|
enum ImGuiItemStatusFlags_
|
||||||
{
|
{
|
||||||
ImGuiItemStatusFlags_None = 0,
|
ImGuiItemStatusFlags_None = 0,
|
||||||
ImGuiItemStatusFlags_HoveredRect = 1 << 0,
|
ImGuiItemStatusFlags_HoveredRect = 1 << 0, // Mouse position is within item rectangle (does NOT mean that the window is in correct z-order and can be hovered!, this is only one part of the most-common IsItemHovered test)
|
||||||
ImGuiItemStatusFlags_HasDisplayRect = 1 << 1, // LastItemDisplayRect is valid
|
ImGuiItemStatusFlags_HasDisplayRect = 1 << 1, // window->DC.LastItemDisplayRect is valid
|
||||||
ImGuiItemStatusFlags_Edited = 1 << 2, // Value exposed by item was edited in the current frame (should match the bool return value of most widgets)
|
ImGuiItemStatusFlags_Edited = 1 << 2, // Value exposed by item was edited in the current frame (should match the bool return value of most widgets)
|
||||||
ImGuiItemStatusFlags_ToggledSelection = 1 << 3, // Set when Selectable(), TreeNode() reports toggling a selection. We can't report "Selected" because reporting the change allows us to handle clipping with less issues.
|
ImGuiItemStatusFlags_ToggledSelection = 1 << 3, // Set when Selectable(), TreeNode() reports toggling a selection. We can't report "Selected", only state changes, in order to easily handle clipping with less issues.
|
||||||
ImGuiItemStatusFlags_ToggledOpen = 1 << 4, // Set when TreeNode() reports toggling their open state.
|
ImGuiItemStatusFlags_ToggledOpen = 1 << 4, // Set when TreeNode() reports toggling their open state.
|
||||||
ImGuiItemStatusFlags_HasDeactivated = 1 << 5, // Set if the widget/group is able to provide data for the ImGuiItemStatusFlags_Deactivated flag.
|
ImGuiItemStatusFlags_HasDeactivated = 1 << 5, // Set if the widget/group is able to provide data for the ImGuiItemStatusFlags_Deactivated flag.
|
||||||
ImGuiItemStatusFlags_Deactivated = 1 << 6, // Only valid if ImGuiItemStatusFlags_HasDeactivated is set.
|
ImGuiItemStatusFlags_Deactivated = 1 << 6, // Only valid if ImGuiItemStatusFlags_HasDeactivated is set.
|
||||||
|
Loading…
Reference in New Issue
Block a user