@@ -639,7 +639,9 @@ DearPyGui::draw_menu(ImDrawList* drawlist, mvAppItem& item, mvMenuConfig& config
639639 item.state .active = ImGui::IsItemActive ();
640640 item.state .activated = ImGui::IsItemActivated ();
641641 item.state .deactivated = ImGui::IsItemDeactivated ();
642+ item.state .prevFocused = item.state .focused ;
642643 item.state .focused = ImGui::IsWindowFocused ();
644+ item.state .prevHovered = item.state .hovered ;
643645 item.state .hovered = ImGui::IsWindowHovered ();
644646 item.state .rectSize = { ImGui::GetWindowWidth (), ImGui::GetWindowHeight () };
645647 item.state .contextRegionAvail = { ImGui::GetContentRegionAvail ().x , ImGui::GetContentRegionAvail ().y };
@@ -682,7 +684,9 @@ DearPyGui::draw_menu(ImDrawList* drawlist, mvAppItem& item, mvMenuConfig& config
682684 item.state .active = ImGui::IsItemActive ();
683685 item.state .activated = ImGui::IsItemActivated ();
684686 item.state .deactivated = ImGui::IsItemDeactivated ();
687+ item.state .prevFocused = item.state .focused ;
685688 item.state .focused = false ;
689+ item.state .prevHovered = item.state .hovered ;
686690 item.state .hovered = false ;
687691 item.state .rectSize = { 0 .0f , 0 .0f };
688692 item.state .contextRegionAvail = { ImGui::GetContentRegionAvail ().x , ImGui::GetContentRegionAvail ().y };
@@ -779,6 +783,7 @@ DearPyGui::draw_tab(ImDrawList* drawlist, mvAppItem& item, mvTabConfig& config)
779783 }
780784
781785 item.state .lastFrameUpdate = GContext->frame ;
786+ item.state .prevHovered = item.state .hovered ;
782787 // create tab item and see if it is selected
783788 if (ImGui::BeginTabItem (item.info .internalLabel .c_str (), config.closable ? &item.config .show : nullptr , config._flags ))
784789 {
@@ -927,7 +932,9 @@ DearPyGui::draw_child_window(ImDrawList* drawlist, mvAppItem& item, mvChildWindo
927932 item.state .lastFrameUpdate = GContext->frame ;
928933 item.state .active = ImGui::IsItemActive ();
929934 item.state .deactivated = ImGui::IsItemDeactivated ();
935+ item.state .prevFocused = item.state .focused ;
930936 item.state .focused = ImGui::IsWindowFocused ();
937+ item.state .prevHovered = item.state .hovered ;
931938 item.state .hovered = ImGui::IsWindowHovered ();
932939 item.state .rectSize = { ImGui::GetWindowWidth (), ImGui::GetWindowHeight () };
933940 item.state .contextRegionAvail = { ImGui::GetContentRegionAvail ().x , ImGui::GetContentRegionAvail ().y };
@@ -1511,7 +1518,9 @@ DearPyGui::draw_window(ImDrawList* drawlist, mvAppItem& item, mvWindowAppItemCon
15111518 // shouldn't have to do this but do. Fix later
15121519 item.config .show = false ;
15131520 item.state .lastFrameUpdate = GContext->frame ;
1521+ item.state .prevHovered = item.state .hovered ;
15141522 item.state .hovered = false ;
1523+ item.state .prevFocused = item.state .focused ;
15151524 item.state .focused = false ;
15161525 item.state .toggledOpen = false ;
15171526 item.state .visible = false ;
@@ -1550,7 +1559,9 @@ DearPyGui::draw_window(ImDrawList* drawlist, mvAppItem& item, mvWindowAppItemCon
15501559 item.config .show = false ;
15511560 // Update item state so that get_item_state is valid
15521561 item.state .lastFrameUpdate = GContext->frame ;
1562+ item.state .prevHovered = item.state .hovered ;
15531563 item.state .hovered = false ;
1564+ item.state .prevFocused = item.state .focused ;
15541565 item.state .focused = false ;
15551566 item.state .toggledOpen = false ;
15561567 item.state .visible = false ;
@@ -1658,7 +1669,9 @@ DearPyGui::draw_window(ImDrawList* drawlist, mvAppItem& item, mvWindowAppItemCon
16581669
16591670 item.state .lastFrameUpdate = GContext->frame ;
16601671 item.state .visible = true ;
1672+ item.state .prevHovered = item.state .hovered ;
16611673 item.state .hovered = ImGui::IsWindowHovered ();
1674+ item.state .prevFocused = item.state .focused ;
16621675 item.state .focused = ImGui::IsWindowFocused ();
16631676 item.state .rectSize = { ImGui::GetWindowSize ().x , ImGui::GetWindowSize ().y };
16641677 item.state .toggledOpen = ImGui::IsWindowCollapsed ();
@@ -1705,7 +1718,9 @@ DearPyGui::draw_window(ImDrawList* drawlist, mvAppItem& item, mvWindowAppItemCon
17051718 if (!item.config .show )
17061719 {
17071720 item.state .lastFrameUpdate = GContext->frame ;
1721+ item.state .prevHovered = item.state .hovered ;
17081722 item.state .hovered = false ;
1723+ item.state .prevFocused = item.state .focused ;
17091724 item.state .focused = false ;
17101725 item.state .toggledOpen = false ;
17111726 item.state .visible = false ;
0 commit comments