Orama-Interactive / Pixelorama

Unleash your creativity with Pixelorama, a powerful and accessible open-source pixel art multitool. Whether you want to create sprites, tiles, animations, or just express yourself in the language of pixel art, this software will realize your pixel-perfect dreams with a vast toolbox of features. Available on Windows, Linux, macOS and the Web!
https://orama-interactive.itch.io/pixelorama
MIT License
6.9k stars 378 forks source link

Dialogs cannot be reopened in the 32-bit Windows version #1061

Closed novhack closed 1 month ago

novhack commented 1 month ago

Pixelorama version: 1.0 32-bit from Itch.io

OS/device including version: Windows 10 64-bit, also supposedly happens on Windows 7 32-bit

Issue description: After Pixelorama starts all dialogs can only be opened once. Any consequential attempt to open the same dialog again will result in a quick darkened overlay flash but the dialog will not open anymore.

Only happens in the Single window mode. If the mode is disabled all dialogs seem to be possible to open.

Steps to reproduce:

novhack commented 1 month ago

During this bug happening Pixelorama spits out a bunch of errors into the console:

ERROR: Attempt to disconnect a nonexistent connection from 'root:<Window#24125637466>'. Signal: 'focus_entered', callable: ''.
   at: (core/object/object.cpp:1420)
ERROR: Attempt to disconnect a nonexistent connection from 'root:<Window#24125637466>'. Signal: 'focus_entered', callable: ''.
   at: (core/object/object.cpp:1420)
ERROR: Attempt to disconnect a nonexistent connection from 'root:<Window#24125637466>'. Signal: 'tree_exited', callable: ''.
   at: (core/object/object.cpp:1420)
ERROR: Attempt to disconnect a nonexistent connection from 'root:<Window#24125637466>'. Signal: 'focus_entered', callable: ''.
   at: (core/object/object.cpp:1420)
ERROR: Signal 'focus_entered' is already connected to given callable '' in that object.
   at: (core/object/object.cpp:1358)
ERROR: Signal 'tree_exited' is already connected to given callable '' in that object.
   at: (core/object/object.cpp:1358)
ERROR: Attempt to disconnect a nonexistent connection from 'root:<Window#24125637466>'. Signal: 'focus_entered', callable: ''.
   at: (core/object/object.cpp:1420)
ERROR: Attempt to disconnect a nonexistent connection from 'root:<Window#24125637466>'. Signal: 'tree_exited', callable: ''.
   at: (core/object/object.cpp:1420)
ERROR: Signal 'focus_entered' is already connected to given callable '' in that object.
   at: (core/object/object.cpp:1358)
ERROR: Attempt to disconnect a nonexistent connection from 'root:<Window#24125637466>'. Signal: 'focus_entered', callable: ''.
   at: (core/object/object.cpp:1420)
ERROR: 1 RID allocations of type 'N5GLES37TextureE' were leaked at exit.
ERROR: Texture with GL ID of 143: leaked 4980 bytes.
   at: ~Utilities (drivers/gles3/storage/utilities.cpp:79)
ERROR: Parameter "RenderingServer::get_singleton()" is null.
   at: ~CompressedTexture2D (scene/resources/compressed_texture.cpp:464)
OverloadedOrama commented 1 month ago

The errors are most likely unrelated to the issue and are a result of this Godot bug: https://github.com/godotengine/godot/issues/89657

The issue seems to be that the dialogs open but they immediately close. Enabling exclusive and disabling popup window flags fixes the issue, but also leaving them as is and using Godot 4.3 rc1 fixes the issue as well, at least on my end (tested a Windows 32-bit build with WINE).