diff --git a/aegisub/src/video_display.cpp b/aegisub/src/video_display.cpp index 002ba3f69d593931dd4ec56df088b6f151475f28..bf9f933166f191cce5a2eafc0c18aec39c2e8c70 100644 --- a/aegisub/src/video_display.cpp +++ b/aegisub/src/video_display.cpp @@ -414,7 +414,13 @@ void VideoDisplay::SetTool(std::unique_ptr<VisualToolBase> new_tool) { tool->SetToolbar(toolBar); // Update size as the new typesetting tool may have changed the subtoolbar size - UpdateSize(); + if (!freeSize) + UpdateSize(); + else { + // UpdateSize fits the window to the video, which we don't want to do + GetGrandParent()->Layout(); + tool->SetDisplayArea(viewport_left, viewport_top, viewport_width, viewport_height); + } } bool VideoDisplay::ToolIsType(std::type_info const& type) const {