Quote Originally Posted by fafalone View Post
Not too familiar with the issues at hand since I've never used WINE, but what strikes me is that you're filling the buffer with a space, then retreiving the result by looking for a null-char, which is not the same. If WINE isn't null-terminating names like Windows, that would return the whole buffer depending on how the error was handled (that could relate to the crash if he does nothing-- that would result in crashing since it would be left(.., -1) -- but if he does something the spaces are being counted, and whole buffer gets null-terminated). Try filling the buffer with String$(MAX_PATH, vbNullChar) instead.
The return value isn't a problem; if he manually clears the default filename and types in something, it works fine.

It's the pre-loading of the default save name that gets sent to the dialog that's an issue.