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