diff options
-rwxr-xr-x | indra/newview/llinventorybridge.cpp | 4 | ||||
-rwxr-xr-x | indra/newview/llpreviewtexture.cpp | 12 |
2 files changed, 8 insertions, 8 deletions
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 1910656066..1dc5558555 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -4462,11 +4462,11 @@ void LLTextureBridge::performAction(LLInventoryModel* model, std::string action) { if ("save_as" == action) { - LLFloaterReg::showInstance("preview_texture", LLSD(mUUID), TAKE_FOCUS_YES); - LLPreviewTexture* preview_texture = LLFloaterReg::findTypedInstance<LLPreviewTexture>("preview_texture", mUUID); + LLPreviewTexture* preview_texture = LLFloaterReg::getTypedInstance<LLPreviewTexture>("preview_texture", mUUID); if (preview_texture) { preview_texture->openToSave(); + preview_texture->saveAs(); } } else LLItemBridge::performAction(model, action); diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp index fed613543f..f91a18d8d3 100755 --- a/indra/newview/llpreviewtexture.cpp +++ b/indra/newview/llpreviewtexture.cpp @@ -183,12 +183,6 @@ void LLPreviewTexture::draw() if ( mImage.notNull() ) { - // Automatically bring up SaveAs dialog if we opened this to save the texture. - if (mPreviewToSave) - { - mPreviewToSave = FALSE; - saveAs(); - } // Draw the texture gGL.diffuseColor3f( 1.f, 1.f, 1.f ); gl_draw_scaled_image(interior.mLeft, @@ -287,6 +281,12 @@ void LLPreviewTexture::saveAs() // User canceled or we failed to acquire save file. return; } + if(mPreviewToSave) + { + mPreviewToSave = FALSE; + LLFloaterReg::showTypedInstance<LLPreviewTexture>("preview_texture", item->getUUID()); + } + // remember the user-approved/edited file name. mSaveFileName = file_picker.getFirstFile(); mLoadingFullImage = TRUE; |