Hi to all,
I'm facing a hung when clicking on the FilenameComponent button to choose a valid folder.
I've tried many modifications, compared my software with the IntroJucer mudule updater example, all seems correct but of course I have something different.
My program hangs at this line 182 @ juce_win32_FileChooser.cpp:
if (selectsDirectory) { BROWSEINFO bi = { 0 }; bi.hwndOwner = (HWND) parentWindow.getWindowHandle(); bi.pszDisplayName = files; bi.lpszTitle = title.toWideCharPointer(); bi.lParam = (LPARAM) &info; bi.lpfn = browseCallbackProc; #ifdef BIF_USENEWUI bi.ulFlags = BIF_USENEWUI | BIF_VALIDATE; #else bi.ulFlags = 0x50; #endif LPITEMIDLIST list = SHBrowseForFolder (&bi); // MY PROGRAM BLOCKS HERE... if (! SHGetPathFromIDListW (list, files)) { files[0] = 0; info.returnedString = String::empty; }
These are the parameters I pass to the constructor:
addAndMakeVisible (synReportsFolder = new FilenameComponent("synfc", BRSettings::getInstance().getSynRptPath(), true, true, false, "*", String::empty, "Please choose a valid path"));
This FilenameComponet lives inside a content component of a DialogWindow, added to desktop in the following manner. the show method is static:
void BRConfigComponent::show (Component* mainWindow) { DialogWindow::LaunchOptions o; o.content.setOwned (new BRConfigComponent()); o.componentToCentreAround = mainWindow; o.dialogTitle = "Settings"; o.dialogBackgroundColour = Colours::lightgrey; o.escapeKeyTriggersCloseButton = true; o.useNativeTitleBar = true; o.resizable = false; o.launchAsync(); }
Hope these infos help finding a possible solutions.
Thank you so much.