Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opening a native FileDialog while a Popup window is active makes FileDialog unresponsive on Windows locking the entire application #98083

Open
lostminds opened this issue Oct 11, 2024 · 1 comment · May be fixed by #98194
Assignees

Comments

@lostminds
Copy link

Tested versions

4.3.stable

System information

Windows 11 / macOS 15.0.1

Issue description

If you have a separate native window Popup open, this by default seems to consume all input events until you close it, to work for dialogs and such. However, an issue with this is that if you open a native FileDialog while such a Popup window is open the panel seems to prevent all mouse events from reaching the file dialog as well. This makes the file dialog unresponsive (sometimes after the first click) to all clicks in the dialog on Windows. So you can't Open/Save, Cancel or close it. And as the file picker dialog is a modal dialog this effectively locks down the entire application and you need to force quit it.

On macOS the FileDialog does not become unresponsive in the same way but when you dismiss it you get an error

E 0:00:03:0885   window_move_to_foreground: Condition "!windows.has(p_window)" is true.
  <C++ Source>   platform/macos/display_server_macos.mm:2563 @ window_move_to_foreground()

I think this might be related to Godot trying to return the focus to the popup window that might have been closed by the native file dialog opening?

I've worked around it by temporarily hiding the Popup by setting visible = false before the FileDialog is opened and then showing it again when the FileDialog is closed, which works fine. But it would be nice if it could remain open and just not prevent events from getting to the FileDialog on windows.

Steps to reproduce

  • Have a separate native Popup window open (not embedded window)
  • Open a native FileDialog
  • Try to interact with the FileDialog on Windows

Minimal reproduction project (MRP)

unresponsive-filedialog.zip

@bruvzg bruvzg self-assigned this Oct 11, 2024
@bruvzg
Copy link
Member

bruvzg commented Oct 15, 2024

Locking should be already fixed by #95794. window_move_to_foreground errors are still the case on both macOS and Windows.

@bruvzg bruvzg linked a pull request Oct 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants