You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Fix editor embedded windows partially resizing.
This commit is contained in:
@@ -114,6 +114,8 @@ public:
|
||||
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);
|
||||
static Vector<String> get_rendering_drivers_func();
|
||||
|
||||
void _window_set_size(const Size2i p_size, WindowID p_window = MAIN_WINDOW_ID);
|
||||
|
||||
// MARK: - Events
|
||||
|
||||
virtual void process_events() override;
|
||||
|
||||
@@ -620,6 +620,10 @@ Size2i DisplayServerEmbedded::window_get_min_size(WindowID p_window) const {
|
||||
}
|
||||
|
||||
void DisplayServerEmbedded::window_set_size(const Size2i p_size, WindowID p_window) {
|
||||
print_line("Embedded window can't be resized.");
|
||||
}
|
||||
|
||||
void DisplayServerEmbedded::_window_set_size(const Size2i p_size, WindowID p_window) {
|
||||
[CATransaction begin];
|
||||
[CATransaction setDisableActions:YES];
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ void EmbeddedDebugger::_init_parse_message_handlers() {
|
||||
Error EmbeddedDebugger::_msg_window_size(const Array &p_args) {
|
||||
ERR_FAIL_COND_V_MSG(p_args.size() != 1, ERR_INVALID_PARAMETER, "Invalid number of arguments for 'window_size' message.");
|
||||
Size2i size = p_args[0];
|
||||
ds->window_set_size(size);
|
||||
ds->_window_set_size(size);
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -1180,6 +1180,8 @@ void Window::_update_window_size() {
|
||||
DisplayServer::get_singleton()->window_set_max_size(max_size_used, window_id);
|
||||
DisplayServer::get_singleton()->window_set_min_size(size_limit, window_id);
|
||||
DisplayServer::get_singleton()->window_set_size(size, window_id);
|
||||
} else if (Engine::get_singleton()->is_embedded_in_editor()) {
|
||||
size = DisplayServer::get_singleton()->window_get_size(window_id); // Reset size.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user