Alexandre Julliard wrote:
Mike Hearn mike@navi.cx writes:
Yes, this was expected. Just ensure only Z: is mapped during the directory browser operation. See the code in drive.c to find out how to modify drive mappings using win32 but to be honest the easiest way would be to make a copy of the current configuration data, modify it so only Z: is mapped, run the picker and then restore the config afterwards with the new drive the user selected mapped.
You don't want to do that, there may be other apps running; messing with the current drive config is definitely not an option. We need to somehow extend the Windows file dialogs to allow browsing the Unix file system, this is something many Winelib apps will want too.
OK, so how to do this? I see 3 ways:
1. Implement an extra api that do the same as the normal file open/save and browse for folder api, but then with the Unix file system 2. Implement a thread local variable so that threads can put the Wine file dialogs into unix file system mode / windows file system mode 3. Define some magic wine flags in the file dialogs that make the dialogs appear in Unix mode
There are some pro's and con's to all of them:
1. Well, basically, we have to make an extra api :-), so there are more functions exported. Probably the existing and new functions will need to call each other, so this means an extra level of indirection. 2. Kinda ugly hacking, though we don't loose win32 compatibility 3. Nice, but we loose strict win32 compatibility, since there will be a magic flags that doesn't exist in win32.
Robert