Change preferences sub-dialogs to be modal

This solves the issue where the parent dialog is closed and then
the child dialog is used.

This is however only a partial fix:

- Many other dialogs throughout the codebase do not currently have
  parent windows and need to be refactored.

- Not all window managers respect modal so users can still trigger
  bugs. We can be more defensive against this but it requires more
  refactoring.

Closes #2686
This commit is contained in:
Patrick Griffis
2022-04-16 18:41:34 -05:00
parent dd167b4c83
commit 13b6a40b9c
12 changed files with 34 additions and 19 deletions

View File

@@ -141,6 +141,7 @@ void fe_get_int (char *prompt, int def, void *callback, void *ud);
#define FRF_NOASKOVERWRITE 32 /* don't ask to overwrite existing files */
#define FRF_EXTENSIONS 64 /* specify file extensions to be displayed */
#define FRF_MIMETYPES 128 /* specify file mimetypes to be displayed */
#define FRF_MODAL 256 /* dialog should be modal to parent */
void fe_get_file (const char *title, char *initial,
void (*callback) (void *userdata, char *file), void *userdata,
int flags);