From 23e13ce3c209da13a7bbf771cf31588045ad432e Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sun, 22 Mar 2015 19:00:50 -0300 Subject: [PATCH] fixes to new window management API -needs testing on Linux -needs testing on Windows -NEED SOMEONE TO IMPLEMENT IT ON OSX!! PLEASE HELP! --- core/bind/core_bind.cpp | 68 +++---- core/bind/core_bind.h | 24 +-- core/os/os.h | 36 ++-- demos/misc/window_management/control.gd | 38 ++-- drivers/windows/dir_access_windows.h | 1 + platform/windows/os_windows.cpp | 188 ++++++++++++++++++ platform/windows/os_windows.h | 36 +++- platform/x11/os_x11.cpp | 31 +-- platform/x11/os_x11.h | 28 +-- .../io_plugins/editor_import_collada.cpp | 4 +- 10 files changed, 339 insertions(+), 115 deletions(-) diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index 858f5cec272..58394673885 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -176,17 +176,17 @@ bool _OS::is_video_mode_fullscreen(int p_screen) const { } -#ifdef NEW_WM_API + int _OS::get_screen_count() const { return OS::get_singleton()->get_screen_count(); } -int _OS::get_screen() const { - return OS::get_singleton()->get_screen(); +int _OS::get_current_screen() const { + return OS::get_singleton()->get_current_screen(); } -void _OS::set_screen(int p_screen) { - OS::get_singleton()->set_screen(p_screen); +void _OS::set_current_screen(int p_screen) { + OS::get_singleton()->set_current_screen(p_screen); } Point2 _OS::get_screen_position(int p_screen) const { @@ -213,38 +213,38 @@ void _OS::set_window_size(const Size2& p_size) { OS::get_singleton()->set_window_size(p_size); } -void _OS::set_fullscreen(bool p_enabled) { - OS::get_singleton()->set_fullscreen(p_enabled); +void _OS::set_window_fullscreen(bool p_enabled) { + OS::get_singleton()->set_window_fullscreen(p_enabled); } -bool _OS::is_fullscreen() const { - return OS::get_singleton()->is_fullscreen(); +bool _OS::is_window_fullscreen() const { + return OS::get_singleton()->is_window_fullscreen(); } -void _OS::set_resizable(bool p_enabled) { - OS::get_singleton()->set_resizable(p_enabled); +void _OS::set_window_resizable(bool p_enabled) { + OS::get_singleton()->set_window_resizable(p_enabled); } -bool _OS::is_resizable() const { - return OS::get_singleton()->is_resizable(); +bool _OS::is_window_resizable() const { + return OS::get_singleton()->is_window_resizable(); } -void _OS::set_minimized(bool p_enabled) { - OS::get_singleton()->set_minimized(p_enabled); +void _OS::set_window_minimized(bool p_enabled) { + OS::get_singleton()->set_window_minimized(p_enabled); } -bool _OS::is_minimized() const { - return OS::get_singleton()->is_minimized(); +bool _OS::is_window_minimized() const { + return OS::get_singleton()->is_window_minimized(); } -void _OS::set_maximized(bool p_enabled) { - OS::get_singleton()->set_maximized(p_enabled); +void _OS::set_window_maximized(bool p_enabled) { + OS::get_singleton()->set_window_maximized(p_enabled); } -bool _OS::is_maximized() const { - return OS::get_singleton()->is_maximized(); +bool _OS::is_window_maximized() const { + return OS::get_singleton()->is_window_maximized(); } -#endif + void _OS::set_use_file_access_save_and_swap(bool p_enable) { @@ -706,25 +706,25 @@ void _OS::_bind_methods() { ObjectTypeDB::bind_method(_MD("is_video_mode_resizable","screen"),&_OS::is_video_mode_resizable,DEFVAL(0)); ObjectTypeDB::bind_method(_MD("get_fullscreen_mode_list","screen"),&_OS::get_fullscreen_mode_list,DEFVAL(0)); -#ifdef NEW_WM_API + ObjectTypeDB::bind_method(_MD("get_screen_count"),&_OS::get_screen_count); - ObjectTypeDB::bind_method(_MD("get_screen"),&_OS::get_screen); - ObjectTypeDB::bind_method(_MD("set_screen"),&_OS::set_screen); + ObjectTypeDB::bind_method(_MD("get_current_screen"),&_OS::get_current_screen); + ObjectTypeDB::bind_method(_MD("set_current_screen"),&_OS::set_current_screen); ObjectTypeDB::bind_method(_MD("get_screen_position"),&_OS::get_screen_position,DEFVAL(0)); ObjectTypeDB::bind_method(_MD("get_screen_size"),&_OS::get_screen_size,DEFVAL(0)); ObjectTypeDB::bind_method(_MD("get_window_position"),&_OS::get_window_position); ObjectTypeDB::bind_method(_MD("set_window_position"),&_OS::set_window_position); ObjectTypeDB::bind_method(_MD("get_window_size"),&_OS::get_window_size); ObjectTypeDB::bind_method(_MD("set_window_size"),&_OS::set_window_size); - ObjectTypeDB::bind_method(_MD("set_fullscreen","enabled"),&_OS::set_fullscreen); - ObjectTypeDB::bind_method(_MD("is_fullscreen"),&_OS::is_fullscreen); - ObjectTypeDB::bind_method(_MD("set_resizable","enabled"),&_OS::set_resizable); - ObjectTypeDB::bind_method(_MD("is_resizable"),&_OS::is_resizable); - ObjectTypeDB::bind_method(_MD("set_minimized", "enabled"),&_OS::set_minimized); - ObjectTypeDB::bind_method(_MD("is_minimized"),&_OS::is_minimized); - ObjectTypeDB::bind_method(_MD("set_maximized", "enabled"),&_OS::set_maximized); - ObjectTypeDB::bind_method(_MD("is_maximized"),&_OS::is_maximized); -#endif + ObjectTypeDB::bind_method(_MD("set_window_fullscreen","enabled"),&_OS::set_window_fullscreen); + ObjectTypeDB::bind_method(_MD("is_window_fullscreen"),&_OS::is_window_fullscreen); + ObjectTypeDB::bind_method(_MD("set_window_resizable","enabled"),&_OS::set_window_resizable); + ObjectTypeDB::bind_method(_MD("is_window_resizable"),&_OS::is_window_resizable); + ObjectTypeDB::bind_method(_MD("set_window_minimized", "enabled"),&_OS::set_window_minimized); + ObjectTypeDB::bind_method(_MD("is_window_minimized"),&_OS::is_window_minimized); + ObjectTypeDB::bind_method(_MD("set_window_maximized", "enabled"),&_OS::set_window_maximized); + ObjectTypeDB::bind_method(_MD("is_window_maximized"),&_OS::is_window_maximized); + ObjectTypeDB::bind_method(_MD("set_iterations_per_second","iterations_per_second"),&_OS::set_iterations_per_second); ObjectTypeDB::bind_method(_MD("get_iterations_per_second"),&_OS::get_iterations_per_second); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 1a80e35221a..f3601e35fb0 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -108,25 +108,25 @@ public: bool is_video_mode_resizable(int p_screen=0) const; Array get_fullscreen_mode_list(int p_screen=0) const; -#ifdef NEW_WM_API + virtual int get_screen_count() const; - virtual int get_screen() const; - virtual void set_screen(int p_screen); + virtual int get_current_screen() const; + virtual void set_current_screen(int p_screen); virtual Point2 get_screen_position(int p_screen=0) const; virtual Size2 get_screen_size(int p_screen=0) const; virtual Point2 get_window_position() const; virtual void set_window_position(const Point2& p_position); virtual Size2 get_window_size() const; virtual void set_window_size(const Size2& p_size); - virtual void set_fullscreen(bool p_enabled); - virtual bool is_fullscreen() const; - virtual void set_resizable(bool p_enabled); - virtual bool is_resizable() const; - virtual void set_minimized(bool p_enabled); - virtual bool is_minimized() const; - virtual void set_maximized(bool p_enabled); - virtual bool is_maximized() const; -#endif + virtual void set_window_fullscreen(bool p_enabled); + virtual bool is_window_fullscreen() const; + virtual void set_window_resizable(bool p_enabled); + virtual bool is_window_resizable() const; + virtual void set_window_minimized(bool p_enabled); + virtual bool is_window_minimized() const; + virtual void set_window_maximized(bool p_enabled); + virtual bool is_window_maximized() const; + Error native_video_play(String p_path, float p_volume, String p_audio_track, String p_subtitle_track); bool native_video_is_playing(); diff --git a/core/os/os.h b/core/os/os.h index 6301bd495fd..d4ac433644a 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -150,25 +150,25 @@ public: virtual VideoMode get_video_mode(int p_screen=0) const=0; virtual void get_fullscreen_mode_list(List *p_list,int p_screen=0) const=0; -#ifdef NEW_WM_API - virtual int get_screen_count() const=0; - virtual int get_screen() const=0; - virtual void set_screen(int p_screen)=0; - virtual Point2 get_screen_position(int p_screen=0) const=0; - virtual Size2 get_screen_size(int p_screen=0) const=0; - virtual Point2 get_window_position() const=0; - virtual void set_window_position(const Point2& p_position)=0; + + virtual int get_screen_count() const{ return 1; } + virtual int get_current_screen() const { return 0; } + virtual void set_current_screen(int p_screen) { } + virtual Point2 get_screen_position(int p_screen=0) { return Point2(); } + virtual Size2 get_screen_size(int p_screen=0) const { return get_window_size(); } + virtual Point2 get_window_position() const { return Vector2(); } + virtual void set_window_position(const Point2& p_position) {} virtual Size2 get_window_size() const=0; - virtual void set_window_size(const Size2 p_size)=0; - virtual void set_fullscreen(bool p_enabled)=0; - virtual bool is_fullscreen() const=0; - virtual void set_resizable(bool p_enabled)=0; - virtual bool is_resizable() const=0; - virtual void set_minimized(bool p_enabled)=0; - virtual bool is_minimized() const=0; - virtual void set_maximized(bool p_enabled)=0; - virtual bool is_maximized() const=0; -#endif + virtual void set_window_size(const Size2 p_size){} + virtual void set_window_fullscreen(bool p_enabled) {} + virtual bool is_window_fullscreen() const { return true; } + virtual void set_window_resizable(bool p_enabled) {} + virtual bool is_window_resizable() const { return false; } + virtual void set_window_minimized(bool p_enabled) {} + virtual bool is_window_minimized() const { return false; } + virtual void set_window_maximized(bool p_enabled) {} + virtual bool is_window_maximized() const { return true; } + virtual void set_iterations_per_second(int p_ips); virtual int get_iterations_per_second() const; diff --git a/demos/misc/window_management/control.gd b/demos/misc/window_management/control.gd index bca13c5a0cf..d1b8f0e71a3 100644 --- a/demos/misc/window_management/control.gd +++ b/demos/misc/window_management/control.gd @@ -35,7 +35,7 @@ func _fixed_process(delta): get_node("Label_Screen_Count").set_text( str("Screen_Count:\n", OS.get_screen_count() ) ) - get_node("Label_Screen_Current").set_text( str("Screen:\n", OS.get_screen() ) ) + get_node("Label_Screen_Current").set_text( str("Screen:\n", OS.get_current_screen() ) ) get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) ) @@ -54,10 +54,10 @@ func _fixed_process(delta): get_node("Label_Screen1_Resolution").hide() get_node("Label_Screen1_Position").hide() - get_node("Button_Fullscreen").set_pressed( OS.is_fullscreen() ) - get_node("Button_FixedSize").set_pressed( !OS.is_resizable() ) - get_node("Button_Minimized").set_pressed( OS.is_minimized() ) - get_node("Button_Maximized").set_pressed( OS.is_maximized() ) + get_node("Button_Fullscreen").set_pressed( OS.is_window_fullscreen() ) + get_node("Button_FixedSize").set_pressed( !OS.is_is_window_resizable() ) + get_node("Button_Minimized").set_pressed( OS.is_is_window_minimized() ) + get_node("Button_Maximized").set_pressed( OS.is_is_window_maximized() ) get_node("Button_Mouse_Grab").set_pressed( Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED ) @@ -137,39 +137,39 @@ func _on_Button_Resize_pressed(): func _on_Button_Screen0_pressed(): - OS.set_screen(0) + OS.set_current_screen(0) func _on_Button_Screen1_pressed(): - OS.set_screen(1) + OS.set_current_screen(1) func _on_Button_Fullscreen_pressed(): - if(OS.is_fullscreen()): - OS.set_fullscreen(false) + if(OS.is_window_fullscreen()): + OS.set_window_fullscreen(false) else: - OS.set_fullscreen(true) + OS.set_window_fullscreen(true) func _on_Button_FixedSize_pressed(): - if(OS.is_resizable()): - OS.set_resizable(false) + if(OS.is_window_resizable()): + OS.set_window_resizable(false) else: - OS.set_resizable(true) + OS.set_window_resizable(true) func _on_Button_Minimized_pressed(): - if(OS.is_minimized()): - OS.set_minimized(false) + if(OS.is_window_minimized()): + OS.set_window_minimized(false) else: - OS.set_minimized(true) + OS.set_window_minimized(true) func _on_Button_Maximized_pressed(): - if(OS.is_maximized()): - OS.set_maximized(false) + if(OS.is_window_maximized()): + OS.set_window_maximized(false) else: - OS.set_maximized(true) + OS.set_window_maximized(true) func _on_Button_Mouse_Grab_pressed(): diff --git a/drivers/windows/dir_access_windows.h b/drivers/windows/dir_access_windows.h index 906ce0d0641..4a668a73648 100644 --- a/drivers/windows/dir_access_windows.h +++ b/drivers/windows/dir_access_windows.h @@ -65,6 +65,7 @@ public: virtual bool list_dir_begin(); ///< This starts dir listing virtual String get_next(); virtual bool current_is_dir() const; + virtual bool current_is_hidden() const; virtual void list_dir_end(); ///< virtual int get_drive_count(); diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 50c42448f4c..a8768ea9fd8 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -171,6 +171,8 @@ void OS_Windows::initialize_core() { last_button_state=0; //RedirectIOToConsole(); + maximized=false; + minimized=false; ThreadWindows::make_default(); SemaphoreWindows::make_default(); @@ -1007,6 +1009,23 @@ void OS_Windows::process_joysticks() { }; }; + +BOOL CALLBACK OS_Windows::MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) { + OS_Windows *self=(OS_Windows*)OS::get_singleton(); + MonitorInfo minfo; + minfo.hMonitor=hMonitor; + minfo.hdcMonitor=hdcMonitor; + minfo.rect.pos.x=lprcMonitor->left; + minfo.rect.pos.y=lprcMonitor->top; + minfo.rect.size.x=lprcMonitor->right - lprcMonitor->left; + minfo.rect.size.y=lprcMonitor->bottom - lprcMonitor->top; + + self->monitor_info.push_back(minfo); + + return TRUE; +} + + void OS_Windows::initialize(const VideoMode& p_desired,int p_video_driver,int p_audio_driver) { @@ -1045,6 +1064,9 @@ void OS_Windows::initialize(const VideoMode& p_desired,int p_video_driver,int p_ } + EnumDisplayMonitors(NULL,NULL,MonitorEnumProc,0); + + print_line("DETECTED MONITORS: "+itos(monitor_info.size())); if (video_mode.fullscreen) { DEVMODE current; @@ -1475,6 +1497,172 @@ void OS_Windows::get_fullscreen_mode_list(List *p_list,int p_screen) } +int OS_Windows::get_screen_count() const { + + return monitor_info.size(); +} +int OS_Windows::get_current_screen() const{ + + HMONITOR monitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST); + for(int i=0;i* process_map; + struct MonitorInfo { + HMONITOR hMonitor; + HDC hdcMonitor; + Rect2 rect; + + + }; + + RECT pre_fs_rect; + Vector monitor_info; + bool maximized; + bool minimized; + + static BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData); + + public: LRESULT WndProc(HWND hWnd,UINT uMsg, WPARAM wParam, LPARAM lParam); @@ -218,6 +234,24 @@ public: virtual VideoMode get_video_mode(int p_screen=0) const; virtual void get_fullscreen_mode_list(List *p_list,int p_screen=0) const; + virtual int get_screen_count() const; + virtual int get_current_screen() const; + virtual void set_current_screen(int p_screen); + virtual Point2 get_screen_position(int p_screen=0) const; + virtual Size2 get_screen_size(int p_screen=0) const; + virtual Point2 get_window_position() const; + virtual void set_window_position(const Point2& p_position); + virtual Size2 get_window_size() const; + virtual void set_window_size(const Size2 p_size); + virtual void set_window_fullscreen(bool p_enabled); + virtual bool is_window_fullscreen() const; + virtual void set_window_resizable(bool p_enabled); + virtual bool is_window_resizable() const; + virtual void set_window_minimized(bool p_enabled); + virtual bool is_window_minimized() const; + virtual void set_window_maximized(bool p_enabled); + virtual bool is_window_maximized() const; + virtual MainLoop *get_main_loop() const; virtual String get_name(); diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 8196281732a..f1573f42298 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -36,7 +36,7 @@ #include "servers/physics/physics_server_sw.h" #include "X11/Xutil.h" -#ifdef NEW_WM_API + #include "X11/Xatom.h" #include "X11/extensions/Xinerama.h" // ICCCM @@ -46,7 +46,7 @@ #define _NET_WM_STATE_REMOVE 0L // remove/unset property #define _NET_WM_STATE_ADD 1L // add/set property #define _NET_WM_STATE_TOGGLE 2L // toggle property -#endif + #include "main/main.h" @@ -187,7 +187,8 @@ void OS_X11::initialize(const VideoMode& p_desired,int p_video_driver,int p_audi visual_server =memnew(VisualServerWrapMT(visual_server,get_render_thread_mode()==RENDER_SEPARATE_THREAD)); } -#ifndef NEW_WM_API +#if 1 + // NEW_WM_API // borderless fullscreen window mode if (current_videomode.fullscreen) { // needed for lxde/openbox, possibly others @@ -552,7 +553,7 @@ void OS_X11::get_fullscreen_mode_list(List *p_list,int p_screen) cons } -#ifdef NEW_WM_API +//#ifdef NEW_WM_API #if 0 // Just now not needed. Can be used for a possible OS.set_border(bool) method void OS_X11::set_wm_border(bool p_enabled) { @@ -598,7 +599,7 @@ int OS_X11::get_screen_count() const { return count; } -int OS_X11::get_screen() const { +int OS_X11::get_current_screen() const { int x,y; Window child; XTranslateCoordinates( x11_display, x11_window, DefaultRootWindow(x11_display), 0, 0, &x, &y, &child); @@ -613,7 +614,7 @@ int OS_X11::get_screen() const { return 0; } -void OS_X11::set_screen(int p_screen) { +void OS_X11::set_current_screen(int p_screen) { int count = get_screen_count(); if(p_screen >= count) return; @@ -730,18 +731,18 @@ void OS_X11::set_window_size(const Size2 p_size) { XResizeWindow(x11_display, x11_window, p_size.x, p_size.y); } -void OS_X11::set_fullscreen(bool p_enabled) { +void OS_X11::set_window_fullscreen(bool p_enabled) { set_wm_fullscreen(p_enabled); current_videomode.fullscreen = p_enabled; visual_server->init(); } -bool OS_X11::is_fullscreen() const { +bool OS_X11::is_window_fullscreen() const { return current_videomode.fullscreen; } -void OS_X11::set_resizable(bool p_enabled) { +void OS_X11::set_window_resizable(bool p_enabled) { XSizeHints *xsh; xsh = XAllocSizeHints(); xsh->flags = p_enabled ? 0L : PMinSize | PMaxSize; @@ -758,11 +759,11 @@ void OS_X11::set_resizable(bool p_enabled) { current_videomode.resizable = p_enabled; } -bool OS_X11::is_resizable() const { +bool OS_X11::is_window_resizable() const { return current_videomode.resizable; } -void OS_X11::set_minimized(bool p_enabled) { +void OS_X11::set_window_minimized(bool p_enabled) { // Using ICCCM -- Inter-Client Communication Conventions Manual XEvent xev; Atom wm_change = XInternAtom(x11_display, "WM_CHANGE_STATE", False); @@ -791,7 +792,7 @@ void OS_X11::set_minimized(bool p_enabled) { XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev); } -bool OS_X11::is_minimized() const { +bool OS_X11::is_window_minimized() const { // Using ICCCM -- Inter-Client Communication Conventions Manual Atom property = XInternAtom(x11_display,"WM_STATE", True); Atom type; @@ -823,7 +824,7 @@ bool OS_X11::is_minimized() const { return false; } -void OS_X11::set_maximized(bool p_enabled) { +void OS_X11::set_window_maximized(bool p_enabled) { // Using EWMH -- Extended Window Manager Hints XEvent xev; Atom wm_state = XInternAtom(x11_display, "_NET_WM_STATE", False); @@ -844,7 +845,7 @@ void OS_X11::set_maximized(bool p_enabled) { maximized = p_enabled; } -bool OS_X11::is_maximized() const { +bool OS_X11::is_window_maximized() const { // Using EWMH -- Extended Window Manager Hints Atom property = XInternAtom(x11_display,"_NET_WM_STATE",False ); Atom type; @@ -889,7 +890,7 @@ bool OS_X11::is_maximized() const { return false; } -#endif + InputModifierState OS_X11::get_key_modifier_state(unsigned int p_x11_state) { diff --git a/platform/x11/os_x11.h b/platform/x11/os_x11.h index ffa1ce00b32..ebcb0dc2fcf 100644 --- a/platform/x11/os_x11.h +++ b/platform/x11/os_x11.h @@ -159,12 +159,12 @@ class OS_X11 : public OS_Unix { int joystick_count; Joystick joysticks[JOYSTICKS_MAX]; -#ifdef NEW_WM_API + unsigned int capture_idle; bool maximized; //void set_wm_border(bool p_enabled); void set_wm_fullscreen(bool p_enabled); -#endif + protected: @@ -220,25 +220,25 @@ public: virtual VideoMode get_video_mode(int p_screen=0) const; virtual void get_fullscreen_mode_list(List *p_list,int p_screen=0) const; -#ifdef NEW_WM_API + virtual int get_screen_count() const; - virtual int get_screen() const; - virtual void set_screen(int p_screen); + virtual int get_current_screen() const; + virtual void set_current_screen(int p_screen); virtual Point2 get_screen_position(int p_screen=0) const; virtual Size2 get_screen_size(int p_screen=0) const; virtual Point2 get_window_position() const; virtual void set_window_position(const Point2& p_position); virtual Size2 get_window_size() const; virtual void set_window_size(const Size2 p_size); - virtual void set_fullscreen(bool p_enabled); - virtual bool is_fullscreen() const; - virtual void set_resizable(bool p_enabled); - virtual bool is_resizable() const; - virtual void set_minimized(bool p_enabled); - virtual bool is_minimized() const; - virtual void set_maximized(bool p_enabled); - virtual bool is_maximized() const; -#endif + virtual void set_window_fullscreen(bool p_enabled); + virtual bool is_window_fullscreen() const; + virtual void set_window_resizable(bool p_enabled); + virtual bool is_window_resizable() const; + virtual void set_window_minimized(bool p_enabled); + virtual bool is_window_minimized() const; + virtual void set_window_maximized(bool p_enabled); + virtual bool is_window_maximized() const; + virtual void move_window_to_foreground(); void run(); diff --git a/tools/editor/io_plugins/editor_import_collada.cpp b/tools/editor/io_plugins/editor_import_collada.cpp index d2c9f395d2f..f113bd35939 100644 --- a/tools/editor/io_plugins/editor_import_collada.cpp +++ b/tools/editor/io_plugins/editor_import_collada.cpp @@ -1360,9 +1360,9 @@ Error ColladaImport::_create_mesh_surfaces(Ref& p_mesh,const Map