diff --git a/doc/contributions.txt b/doc/contributions.txt index 5892a8081d8f7ec5d0074540edc572cacc971bcb..8087a870042bc9bfaf099303883a91cd1634b00b 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -162,6 +162,7 @@ Boroondas Gupte SNOW-527 SNOW-610 SNOW-624 + SNOW-737 VWR-233 WEB-262 Bulli Schumann diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake index 4d0b7b2d8d3742e2422291719b7090267857e5df..f6522d9e2fd397acfcf594d0a012496b4bde5c02 100644 --- a/indra/cmake/PNG.cmake +++ b/indra/cmake/PNG.cmake @@ -9,5 +9,5 @@ if (STANDALONE) else (STANDALONE) use_prebuilt_binary(libpng) set(PNG_LIBRARIES png12) - set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) + set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng12) endif (STANDALONE) diff --git a/indra/llimage/llpngwrapper.cpp b/indra/llimage/llpngwrapper.cpp index 02043586b29e00e082b7a6a2909b64335b59853b..fe737e2072ab3be51faaa4052463221a22638668 100644 --- a/indra/llimage/llpngwrapper.cpp +++ b/indra/llimage/llpngwrapper.cpp @@ -210,7 +210,7 @@ void LLPngWrapper::normalizeImage() } if (mColorType == PNG_COLOR_TYPE_GRAY && mBitDepth < 8) { - png_set_gray_1_2_4_to_8(mReadPngPtr); + png_set_expand_gray_1_2_4_to_8(mReadPngPtr); } if (mColorType == PNG_COLOR_TYPE_GRAY || mColorType == PNG_COLOR_TYPE_GRAY_ALPHA) @@ -358,7 +358,7 @@ void LLPngWrapper::releaseResources() { if (mReadPngPtr || mReadInfoPtr) { - png_destroy_read_struct(&mReadPngPtr, &mReadInfoPtr, png_infopp_NULL); + png_destroy_read_struct(&mReadPngPtr, &mReadInfoPtr, NULL); mReadPngPtr = NULL; mReadInfoPtr = NULL; } diff --git a/indra/llimage/llpngwrapper.h b/indra/llimage/llpngwrapper.h index 0721adea3b7128985edb65db65217e103bdd5360..47a4207d6677a9927ed2322cd817359025e758e5 100644 --- a/indra/llimage/llpngwrapper.h +++ b/indra/llimage/llpngwrapper.h @@ -26,7 +26,7 @@ #ifndef LL_LLPNGWRAPPER_H #define LL_LLPNGWRAPPER_H -#include "libpng12/png.h" +#include "png.h" #include "llimage.h" class LLPngWrapper diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index fd6b8b739dc669c94af2ae70e18f1f6e7d5eaf5d..92a9b83bc5aabbafa352870f4520b2e633619f54 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -928,8 +928,9 @@ bool LLAppViewer::init() //EXT-7013 - On windows for some locale (Japanese) standard //datetime formatting functions didn't support some parameters such as "weekday". + //Names for days and months localized in xml are also useful for Polish locale(STORM-107). std::string language = LLControlGroup::getInstance(sGlobalSettingsName)->getString("Language"); - if(language == "ja") + if(language == "ja" || language == "pl") { LLStringOps::setupWeekDaysNames(LLTrans::getString("dateTimeWeekdaysNames")); LLStringOps::setupWeekDaysShortNames(LLTrans::getString("dateTimeWeekdaysShortNames")); diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index b1e11e1a2a687da66ba8f6762c25c51cf9b8dfa8..84c560639e00961b568c25f1a92f03f039ecfc00 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -397,12 +397,20 @@ void LLCOFWearables::refresh() mCOFVersion = catp->getVersion(); + // Save current scrollbar position. + typedef std::map<LLFlatListView*, LLRect> scroll_pos_map_t; + scroll_pos_map_t saved_scroll_pos; + + saved_scroll_pos[mAttachments] = mAttachments->getVisibleContentRect(); + saved_scroll_pos[mClothing] = mClothing->getVisibleContentRect(); + saved_scroll_pos[mBodyParts] = mBodyParts->getVisibleContentRect(); + + // Save current selection. typedef std::vector<LLSD> values_vector_t; typedef std::map<LLFlatListView*, values_vector_t> selection_map_t; selection_map_t preserve_selection; - // Save current selection mAttachments->getSelectedValues(preserve_selection[mAttachments]); mClothing->getSelectedValues(preserve_selection[mClothing]); mBodyParts->getSelectedValues(preserve_selection[mBodyParts]); @@ -450,6 +458,15 @@ void LLCOFWearables::refresh() list->setCommitOnSelectionChange(true); } + + // Restore previous scrollbar position. + for (scroll_pos_map_t::const_iterator it = saved_scroll_pos.begin(); it != saved_scroll_pos.end(); ++it) + { + LLFlatListView* list = it->first; + LLRect scroll_pos = it->second; + + list->scrollToShowRect(scroll_pos); + } } diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 7206e4fcaf936b81365ce21689552b1c68a381ce..a3c6a7b6f187bf718d9e9bfd132ba59a945573ec 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -286,6 +286,8 @@ void LLSidepanelAppearance::showOutfitsInventoryPanel() void LLSidepanelAppearance::showOutfitEditPanel() { + if (mOutfitEdit && mOutfitEdit->getVisible()) return; + // Accordion's state must be reset in all cases except the one when user // is returning back to the mOutfitEdit panel from the mEditWearable panel. // The simplest way to control this is to check the visibility state of the mEditWearable