godot: Game Crash on set custom mouse cursor
Master,x11
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f6a8f6ab4b0] (??:0) [2] OS_X11::set_custom_mouse_cursor(Ref<Resource> const&, OS::CursorShape, Vector2 const&) (/godot/platform/x11/os_x11.cpp:2393) [3] InputDefault::set_custom_mouse_cursor(Ref<Resource> const&, Input::CursorShape, Vector2 const&) (/godot/main/input_default.cpp:611) [4] MethodBind3<Ref<Resource> const&, Input::CursorShape, Vector2 const&>::call(Object*, Variant const**, int, Variant::CallError&) (/godot/core/method_bind.gen.inc:2151 (discriminator 26)) [5] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/godot/core/object.cpp:914 (discriminator 1)) [6] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/godot/core/variant_call.cpp:1022 (discriminator 1)) [7] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/godot/modules/gdscript/gdscript_function.cpp:811) [8] GDScriptInstance::call_multilevel(StringName const&, Variant const**, int) (/godot/modules/gdscript/gdscript.cpp:1167) [9] Object::call_multilevel(StringName const&, Variant const**, int) (/godot/core/object.cpp:744) [10] SceneTree::_call_input_pause(StringName const&, StringName const&, Ref<InputEvent> const&) (/godot/scene/main/scene_tree.cpp:898) [11] Viewport::input(Ref<InputEvent> const&) (/godot/scene/main/viewport.cpp:2349 (discriminator 4)) [12] Viewport::_vp_input(Ref<InputEvent> const&) (/godot/scene/main/viewport.cpp:1214) [13] MethodBind1<Ref<InputEvent> const&>::call(Object*, Variant const**, int, Variant::CallError&) (/godot/core/method_bind.gen.inc:729 (discriminator 12)) [14] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/godot/core/object.cpp:914 (discriminator 1)) [15] Object::call(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/godot/core/object.cpp:839) [16] SceneTree::call_group_flags(unsigned int, StringName const&, StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/godot/scene/main/scene_tree.cpp:251) [17] SceneTree::input_event(Ref<InputEvent> const&) (/godot/scene/main/scene_tree.cpp:407 (discriminator 6)) [18] InputDefault::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/godot/main/input_default.cpp:392) [19] InputDefault::parse_input_event(Ref<InputEvent> const&) (/godot/main/input_default.cpp:260) [20] OS_X11::process_xevents() (/godot/platform/x11/os_x11.cpp:1958 (discriminator 3)) [21] OS_X11::run() (/godot/platform/x11/os_x11.cpp:2520) [22] /godot/bin/godot.x11.tools.64(main+0xd3) [0xf113e9] (/godot/platform/x11/godot_x11.cpp:56) [23] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f6a8f696830] (??:0) [24] /godot/bin/godot.x11.tools.64(_start+0x29) [0xf11249] (??:?)
Steps:
var img = Image.new()
img.create(1,1,true,Image.FORMAT_RGBA8)
Input.set_custom_mouse_cursor(img)
OR
var img = Image.new()
Input.set_custom_mouse_cursor(img)
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 18 (18 by maintainers)
You’re good at trying bad code to find missing parameter checks 😛
CC @guilhermefelipecgs. The method should check that the input image is valid (here it’s not, it has no image data).
I think this is not possible in this moment 😅. I’ll implement.
I added another validation to ensure that the image is valid (I don’t know why I didn’t this before 🤔) and hopefully this message about image lock will not appear again.