diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index f56a4816ca..633a330cfa 100755 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -882,13 +882,17 @@ BOOL LLFilePicker::getMultipleOpenFiles(ELoadFilter filter, bool blocking) mPickOptions |= F_FILE; mPickOptions |= F_MULTIPLE; - // Modal, so pause agent - send_agent_pause(); + + // Threaded Filepickers + if (blocking) + { + // Modal, so pause agent + send_agent_pause(); + } + // success = doNavChooseDialog(filter); - send_agent_resume(); - if (success) { if (!getFileCount()) @@ -897,8 +901,15 @@ BOOL LLFilePicker::getMultipleOpenFiles(ELoadFilter filter, bool blocking) mLocked = true; } - // Account for the fact that the app has been stalled. - LLFrameTimer::updateFrameTime(); + // Threaded Filepickers + if (blocking) + { + send_agent_resume(); + + // Account for the fact that the app has been stalled. + LLFrameTimer::updateFrameTime(); + } + // return success; } @@ -922,8 +933,13 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename, mPickOptions &= ~F_MULTIPLE; - // Modal, so pause agent - send_agent_pause(); + // Threaded filepickers + if (blocking) + { + // Modal, so pause agent + send_agent_pause(); + } + // success = doNavSaveDialog(filter, filename); @@ -933,14 +949,15 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename, success = false; } - // + // Threaded filepickers if (blocking) { send_agent_resume(); - // - // Account for the fact that the app has been stalled. - LLFrameTimer::updateFrameTime(); + // Account for the fact that the app has been stalled. + LLFrameTimer::updateFrameTime(); } + // + return success; } //END LL_DARWIN