diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 512af5f2f..217d1ebda 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -345,27 +345,6 @@ BOOL stop_gloderror() return FALSE; } -LLMeshFilePicker::LLMeshFilePicker(LLModelPreview* mp, S32 lod) -{ - mMP = mp; - mLOD = lod; - open(FFLOAD_COLLADA); - run(boost::bind(&LLMeshFilePicker::loadFromCollada, this)); -} - -// static -void LLMeshFilePicker::loadFromCollada(LLMeshFilePicker* filepicker) -{ - LLMeshFilePicker* self = (LLMeshFilePicker*)filepicker; - if (self && filepicker->hasFilename()) - self->notify(filepicker->getFilename()); -} - -void LLMeshFilePicker::notify(const std::string& filename) -{ - mMP->loadModel(filename, mLOD); -} - //----------------------------------------------------------------------------- // LLFloaterModelPreview() //----------------------------------------------------------------------------- @@ -583,7 +562,19 @@ void LLFloaterModelPreview::loadModel(S32 lod) { mModelPreview->mLoading = true; - new LLMeshFilePicker(mModelPreview, lod); + AIFilePicker* filepicker = AIFilePicker::create(); + filepicker->open(FFLOAD_COLLADA, "", "mesh"); + filepicker->run(boost::bind(&LLFloaterModelPreview::loadModel_continued, this, filepicker, lod)); +} + +void LLFloaterModelPreview::loadModel_continued(AIFilePicker* filepicker, S32 lod) +{ + std::string filename; + if (filepicker->hasFilename()) // User did not click Cancel? + { + filename = filepicker->getFilename(); + } + mModelPreview->loadModel(filename, lod); // Pass an empty filename if the user clicked Cancel. } void LLFloaterModelPreview::loadModel(S32 lod, const std::string& file_name, bool force_disable_slm) diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h index f81552f4f..6ca55bb81 100644 --- a/indra/newview/llfloatermodelpreview.h +++ b/indra/newview/llfloatermodelpreview.h @@ -187,6 +187,7 @@ public: void refresh(); void loadModel(S32 lod); + void loadModel_continued(AIFilePicker* filepicker, S32 lod); void loadModel(S32 lod, const std::string& file_name, bool force_disable_slm = false); void onViewOptionChecked(LLUICtrl* ctrl); @@ -212,7 +213,6 @@ public: protected: friend class LLModelPreview; - friend class LLMeshFilePicker; friend class LLPhysicsDecomp; static void onImportScaleCommit(LLUICtrl*, void*); @@ -292,18 +292,6 @@ private: LLButton* mCalculateBtn; }; -class LLMeshFilePicker : public AIFilePicker -{ -public: - LLMeshFilePicker(LLModelPreview* mp, S32 lod); - static void loadFromCollada(LLMeshFilePicker* filepicker); - virtual void notify(const std::string& filename); - -private: - LLModelPreview* mMP; - S32 mLOD; -}; - class LLModelPreview : public LLViewerDynamicTexture, public LLMutex { typedef boost::signals2::signal details_signal_t; diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index f362b4bad..230622f06 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -37,9 +37,6 @@ #include "llcallbacklist.h" #include "lldatapacker.h" #include "llfasttimer.h" -#if MESH_IMPORT -#include "llfloatermodelpreview.h" -#endif //MESH_IMPORT #include "llfloaterperms.h" #include "lleconomy.h" #include "llimagej2c.h" @@ -3302,6 +3299,8 @@ public: { } + virtual ~ndDecompTracer() { } + virtual void trace( char const *a_strMsg ) { llinfos << a_strMsg << llendl; diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 681cfd4fd..0ac9c8fcc 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1623,9 +1623,7 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames) //capabilityNames.append("LandResources"); //Script limits (llfloaterscriptlimits.cpp) capabilityNames.append("MapLayer"); capabilityNames.append("MapLayerGod"); -#if MESH_IMPORT capabilityNames.append("MeshUploadFlag"); -#endif //MESH_IMPORT capabilityNames.append("NavMeshGenerationStatus"); capabilityNames.append("NewFileAgentInventory"); /*capabilityNames.append("ObjectMedia");