Index: sdl-game.cpp
===================================================================
--- sdl-game.cpp	(revision 484334e16d4b1ce0b69d32411122b41c1c215922)
+++ sdl-game.cpp	(revision 81869efbdb02d8ba6e8c835b23334c154beeef3e)
@@ -209,8 +209,11 @@
 
       ImGui::Render();
-      ImDrawData* draw_data = ImGui::GetDrawData();
-      const bool is_minimized = (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f);
-      if (!is_minimized) {
-         renderFrame(draw_data);
+
+      gui->refreshWindowSize();
+
+      const bool isMinimized = gui->getWindowWidth() <= 0 || gui->getWindowHeight() <= 0;
+
+      if (!isMinimized) {
+         renderFrame(ImGui::GetDrawData());
          presentFrame();
       }
Index: vulkan-game.cpp
===================================================================
--- vulkan-game.cpp	(revision 484334e16d4b1ce0b69d32411122b41c1c215922)
+++ vulkan-game.cpp	(revision 81869efbdb02d8ba6e8c835b23334c154beeef3e)
@@ -986,6 +986,19 @@
       ImGui::Render();
 
-      renderFrame(ImGui::GetDrawData());
-      presentFrame();
+      // There is already code in renderFrame to render screen-specific things
+      // The imgui code above should be moved to the renderUI function of the particular screen it's needed in
+      // and currentScreen->renderUI should be called in renderFrame.
+      // Since I am no longer drawing the UI to an sdl texture and then rendering that, I don't have to worry
+      // about calling populateVulkanImageFromSDLTexture at all.
+      // If I do ever want to do that again, I can still actually do it inside renderFrame
+
+      gui->refreshWindowSize();
+
+      const bool isMinimized = gui->getWindowWidth() <= 0 || gui->getWindowHeight() <= 0;
+
+      if (!isMinimized) {
+         renderFrame(ImGui::GetDrawData());
+         presentFrame();
+      }
    }
 }
