nativefiledialog icon indicating copy to clipboard operation
nativefiledialog copied to clipboard

Selecting *.* on windows causes it to use the last file format instead

Open matcool opened this issue 2 years ago • 1 comments

Compilation Environment

  • OS: Windows 10
  • Compiler: MSVC 2019
  • Build directory used: cmake
  • Have I attempted to reproduce the problem on the devel branch? Yes

Describe the bug

nfdchar_t* path = nullptr;
auto result = NFD_SaveDialog("mp4;mkv;webm", nullptr, &path);
if (result == NFD_OKAY) {
    std::cout << "Selected path is: " << path << std::endl;
    free(path);
}

This will create a file dialog with 4 options, *.mp4, *.mkv, *.webm and *.* The first three work fine, however, picking *.* will append .webm to the path instead of not appending anything

matcool avatar Sep 09 '21 16:09 matcool

This change to nativefiledialog-extended fixes a similar bug for me, so I think you'd just need to call SetDefaultExtension(L"") if you don't want it to append a default extension.

However, I think on Windows users expect some extension to be appended to any file (at least that seems to be the case for the programs I have on my Windows machine), so in my opinion the proper behaviour should be to append a default extension.

btzy avatar Oct 05 '21 18:10 btzy