hi everybody,
i am currently working on making a windows program function in wine. it works for the most part, so i'm trying to iron out a few critical bugs. first off... i'm looking at microsoft's CFileDialog class - it is what the standard windows 'open file' and 'save file' dialog windows use. the problem is this: CFileDialog has a built in function called OnFolderChange, that is used to determine whether the user has changed folders in the dialog, whether by double click or what not.. the program i'm working on overrides the CFileDialog class, and includes more code for the OnFolderChange function (and for other functions) for its own purposes. the new OnFolderChange function works perfectly fine in windows, but is completely ignored when using wine - it never even gets called, while the rest of the dialog window retains all of its intended functionality. as a reference, the built in functions OnFileNameChange, GetFolderPath, and others gets overridden successfully. as far as i can tell, the only function that is not working properly is the OnFolderChange function. the overriding of CFileDialog was accomplished by using a hooking procedure provided in the MSDN library. i hope this is enough information, however i don't expect anyone to fully be able to address this issue without seeing the code i'm working on first.thank you for your time!
-kyle
Hi,
On Fri, Aug 16, 2002 at 01:57:41PM -0400, mayonaise@beer.com wrote:
hi everybody,
i am currently working on making a windows program function in wine. it works for the most part, so i'm trying to iron out a few critical bugs. first off... i'm looking at microsoft's CFileDialog class - it is what the standard windows 'open file' and 'save file' dialog windows use. the problem is this: CFileDialog has a built in function called OnFolderChange, that is used to determine whether the user has changed folders in the dialog, whether by double click or what not.. the program i'm working on overrides the CFileDialog class, and includes more code for the OnFolderChange function (and for other functions) for its own purposes. the new OnFolderChange function works perfectly fine in windows, but is completely ignored when using wine - it never even gets called, while the rest of the dialog window retains all of its intended functionality.
Try to find out how standard Win32 (and thus NOT MFC) is doing the on folder change thing in the file open/save dialog handling (e.g. by searching Microsoft's SDK descriptions). Then you can deduce the way Wine is supposed to handle this. The relevant code is in dlls/commdlg/filedlg*.c If there is anything else you need to know, then just ask here.
This folder change checking is not done via Win32 file change notifications by chance, or is it ?? In this case it's not too suprising that it doesn't work: the Wine Win32 functions print a FIXME, and the whole thing is rather difficult to implement: most likely it'd require full-scale support in the operating system file system layer.
Good luck !