소스 검색

Fix "Debug" window stealing focus/popup #208 #209 @thevaber

ocornut 10 년 전
부모
커밋
fbbe7fee53
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      imgui.cpp

+ 2 - 1
imgui.cpp

@@ -3160,6 +3160,7 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size_on_first_
     // When reusing window again multiple times a frame, just append content (don't need to setup again)
     const int current_frame = ImGui::GetFrameCount();
     const bool first_begin_of_the_frame = (window->LastFrameDrawn != current_frame);
+    const bool window_was_visible = (window->LastFrameDrawn == current_frame - 1);
     if (first_begin_of_the_frame)
     {
         window->Active = true;
@@ -3179,7 +3180,7 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size_on_first_
     if (first_begin_of_the_frame)
     {
         // New windows appears in front
-        if (!window->WasActive)
+        if (!window_was_visible)
         {
             window->AutoPosLastDirection = -1;