Skip to content

Commit 0d056cf

Browse files
committed
Fix editor embedded windows partially resizing.
1 parent 06827c9 commit 0d056cf

File tree

4 files changed

+9
-1
lines changed

4 files changed

+9
-1
lines changed

platform/macos/display_server_embedded.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ class DisplayServerEmbedded : public DisplayServerMacOSBase {
114114
static DisplayServer *create_func(const String &p_rendering_driver, WindowMode p_mode, DisplayServer::VSyncMode p_vsync_mode, uint32_t p_flags, const Vector2i *p_position, const Vector2i &p_resolution, int p_screen, Context p_context, int64_t p_parent_window, Error &r_error);
115115
static Vector<String> get_rendering_drivers_func();
116116

117+
void _window_set_size(const Size2i p_size, WindowID p_window = MAIN_WINDOW_ID);
118+
117119
// MARK: - Events
118120

119121
virtual void process_events() override;

platform/macos/display_server_embedded.mm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,10 @@
620620
}
621621

622622
void DisplayServerEmbedded::window_set_size(const Size2i p_size, WindowID p_window) {
623+
print_line("Embedded window can't be resized.");
624+
}
625+
626+
void DisplayServerEmbedded::_window_set_size(const Size2i p_size, WindowID p_window) {
623627
[CATransaction begin];
624628
[CATransaction setDisableActions:YES];
625629

platform/macos/embedded_debugger.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
Error EmbeddedDebugger::_msg_window_size(const Array &p_args) {
8282
ERR_FAIL_COND_V_MSG(p_args.size() != 1, ERR_INVALID_PARAMETER, "Invalid number of arguments for 'window_size' message.");
8383
Size2i size = p_args[0];
84-
ds->window_set_size(size);
84+
ds->_window_set_size(size);
8585
return OK;
8686
}
8787

scene/main/window.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,6 +1180,8 @@ void Window::_update_window_size() {
11801180
DisplayServer::get_singleton()->window_set_max_size(max_size_used, window_id);
11811181
DisplayServer::get_singleton()->window_set_min_size(size_limit, window_id);
11821182
DisplayServer::get_singleton()->window_set_size(size, window_id);
1183+
} else if (Engine::get_singleton()->is_embedded_in_editor()) {
1184+
size = DisplayServer::get_singleton()->window_get_size(window_id); // Reset size.
11831185
}
11841186
}
11851187

0 commit comments

Comments
 (0)