Error Handling: turned IsItemHovered()/IsWindowHovered() checks into IM_ASSERT_USER_ERROR. (#1651)
This commit is contained in:
parent
c4bc674482
commit
20ae8bd4c3
@ -61,6 +61,7 @@ Other changes:
|
|||||||
ImGui_ImplXXXX_RenderDrawData() of standard backend to expose selected render
|
ImGui_ImplXXXX_RenderDrawData() of standard backend to expose selected render
|
||||||
state to draw callbacks. (#6969, #5834, #7468, #3590)
|
state to draw callbacks. (#6969, #5834, #7468, #3590)
|
||||||
- IO: WantCaptureKeyboard is never set when ImGuiConfigFlags_NoKeyboard is enabled. (#4921)
|
- IO: WantCaptureKeyboard is never set when ImGuiConfigFlags_NoKeyboard is enabled. (#4921)
|
||||||
|
- Error Handling: turned a few more functions into recoverable errors. (#1651)
|
||||||
- DrawList: AddCallback() added an optional size parameter allowing to copy and
|
- DrawList: AddCallback() added an optional size parameter allowing to copy and
|
||||||
store any amount of user data for usage by callbacks: (#6969, #4770, #7665)
|
store any amount of user data for usage by callbacks: (#6969, #4770, #7665)
|
||||||
- If userdata_size == 0: we copy/store the 'userdata' argument as-is (existing behavior).
|
- If userdata_size == 0: we copy/store the 'userdata' argument as-is (existing behavior).
|
||||||
|
@ -4433,7 +4433,7 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags)
|
|||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
ImGuiWindow* window = g.CurrentWindow;
|
ImGuiWindow* window = g.CurrentWindow;
|
||||||
IM_ASSERT((flags & ~ImGuiHoveredFlags_AllowedMaskForIsItemHovered) == 0 && "Invalid flags for IsItemHovered()!");
|
IM_ASSERT_USER_ERROR((flags & ~ImGuiHoveredFlags_AllowedMaskForIsItemHovered) == 0, "Invalid flags for IsItemHovered()!");
|
||||||
|
|
||||||
if (g.NavDisableMouseHover && !g.NavDisableHighlight && !(flags & ImGuiHoveredFlags_NoNavOverride))
|
if (g.NavDisableMouseHover && !g.NavDisableHighlight && !(flags & ImGuiHoveredFlags_NoNavOverride))
|
||||||
{
|
{
|
||||||
@ -4455,8 +4455,6 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags)
|
|||||||
if (flags & ImGuiHoveredFlags_ForTooltip)
|
if (flags & ImGuiHoveredFlags_ForTooltip)
|
||||||
flags = ApplyHoverFlagsForTooltip(flags, g.Style.HoverFlagsForTooltipMouse);
|
flags = ApplyHoverFlagsForTooltip(flags, g.Style.HoverFlagsForTooltipMouse);
|
||||||
|
|
||||||
IM_ASSERT((flags & (ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_NoPopupHierarchy)) == 0); // Flags not supported by this function
|
|
||||||
|
|
||||||
// Done with rectangle culling so we can perform heavier checks now
|
// Done with rectangle culling so we can perform heavier checks now
|
||||||
// Test if we are hovering the right window (our window could be behind another window)
|
// Test if we are hovering the right window (our window could be behind another window)
|
||||||
// [2021/03/02] Reworked / reverted the revert, finally. Note we want e.g. BeginGroup/ItemAdd/EndGroup to work as well. (#3851)
|
// [2021/03/02] Reworked / reverted the revert, finally. Note we want e.g. BeginGroup/ItemAdd/EndGroup to work as well. (#3851)
|
||||||
@ -8143,9 +8141,9 @@ bool ImGui::IsWindowAbove(ImGuiWindow* potential_above, ImGuiWindow* potential_b
|
|||||||
// Refer to FAQ entry "How can I tell whether to dispatch mouse/keyboard to Dear ImGui or my application?" for details.
|
// Refer to FAQ entry "How can I tell whether to dispatch mouse/keyboard to Dear ImGui or my application?" for details.
|
||||||
bool ImGui::IsWindowHovered(ImGuiHoveredFlags flags)
|
bool ImGui::IsWindowHovered(ImGuiHoveredFlags flags)
|
||||||
{
|
{
|
||||||
IM_ASSERT((flags & ~ImGuiHoveredFlags_AllowedMaskForIsWindowHovered) == 0 && "Invalid flags for IsWindowHovered()!");
|
|
||||||
|
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
|
IM_ASSERT_USER_ERROR((flags & ~ImGuiHoveredFlags_AllowedMaskForIsWindowHovered) == 0, "Invalid flags for IsWindowHovered()!");
|
||||||
|
|
||||||
ImGuiWindow* ref_window = g.HoveredWindow;
|
ImGuiWindow* ref_window = g.HoveredWindow;
|
||||||
ImGuiWindow* cur_window = g.CurrentWindow;
|
ImGuiWindow* cur_window = g.CurrentWindow;
|
||||||
if (ref_window == NULL)
|
if (ref_window == NULL)
|
||||||
|
Loading…
Reference in New Issue
Block a user