Merge branch 'DRTVWR-543-maint' of https://bitbucket.org/lindenlab/viewer
# Conflicts: # autobuild.xml # indra/cmake/Boost.cmake # indra/llappearance/lltexlayer.cpp # indra/llinventory/llparcel.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappviewer.cpp # indra/newview/llface.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvovolume.cppmeow-7.2.2
commit
c1a4be7dae
|
|
@ -594,9 +594,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>84d625d41067e6dc633ac53367ae4e87</string>
|
||||
<string>4699b8389dfb754da0393ddb5d325722</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87796/805943/colladadom-2.3.563854-darwin64-563854.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/95882/856117/colladadom-2.3.569219-darwin64-569219.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin64</string>
|
||||
|
|
@ -618,9 +618,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>d365992132ca2bd89f48a2dab1f3b1f2</string>
|
||||
<string>343e46ea49a08ad6596d3dc702d5b812</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87794/805955/colladadom-2.3.563854-windows-563854.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/95883/856128/colladadom-2.3.569219-windows-569219.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -630,16 +630,16 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>27687df032caffdc1ec92611341adfe3</string>
|
||||
<string>de5bdfb61b31db56c5fe7d0962ad11e2</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87795/805951/colladadom-2.3.563854-windows64-563854.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/95884/856129/colladadom-2.3.569219-windows64-569219.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>version</key>
|
||||
<string>2.3.563854</string>
|
||||
<string>2.3.569219</string>
|
||||
</map>
|
||||
<key>cubemaptoequirectangular</key>
|
||||
<map>
|
||||
|
|
@ -1984,7 +1984,7 @@
|
|||
<key>name</key>
|
||||
<string>llappearance_utility</string>
|
||||
<key>platforms</key>
|
||||
<map>
|
||||
<map>
|
||||
<key>linux</key>
|
||||
<map>
|
||||
<key>archive</key>
|
||||
|
|
@ -2247,9 +2247,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>d00bed67d307d5435280fc7b42ceb822</string>
|
||||
<string>843587a078102d86d90054d03354684d</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87785/805884/minizip_ng-3.0.2.563851-darwin64-563851.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/95876/856095/minizip_ng-3.0.2.569217-darwin64-569217.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin64</string>
|
||||
|
|
@ -2259,9 +2259,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>e7cf61cde66e5c632e0e2c1fc5770dbb</string>
|
||||
<string>26dc254f443ca9c5509547d7fbd9d8e5</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87787/805898/minizip_ng-3.0.2.563851-windows-563851.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/95878/856107/minizip_ng-3.0.2.569217-windows-569217.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -2271,16 +2271,16 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>b3c69f9d05cfb531b591347f7b6785cb</string>
|
||||
<string>e9241fa325f4014995b62193321e7a1c</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87788/805899/minizip_ng-3.0.2.563851-windows64-563851.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/95877/856106/minizip_ng-3.0.2.569217-windows64-569217.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>version</key>
|
||||
<string>3.0.2.563851</string>
|
||||
<string>3.0.2.569217</string>
|
||||
</map>
|
||||
<key>nghttp2</key>
|
||||
<map>
|
||||
|
|
|
|||
|
|
@ -1113,16 +1113,18 @@ Nicky Dasmijn
|
|||
STORM-1937
|
||||
OPEN-187
|
||||
SL-15234
|
||||
STORM-2010
|
||||
STORM-2010
|
||||
STORM-2082
|
||||
MAINT-6665
|
||||
SL-10291
|
||||
SL-10293
|
||||
SL-11061
|
||||
SL-11072
|
||||
SL-11072
|
||||
SL-13141
|
||||
SL-13642
|
||||
SL-14541
|
||||
SL-16438
|
||||
SL-17218
|
||||
Nicky Perian
|
||||
OPEN-1
|
||||
STORM-1087
|
||||
|
|
|
|||
|
|
@ -24,66 +24,33 @@ else (USESYSTEMLIBS)
|
|||
set(addrsfx "-x${ADDRESS_SIZE}")
|
||||
|
||||
if (WINDOWS)
|
||||
if(MSVC80)
|
||||
# This should be obsolete at this point
|
||||
set(BOOST_VERSION "1.55")
|
||||
set(BOOST_CONTEXT_LIBRARY
|
||||
optimized libboost_context-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_context-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_FILESYSTEM_LIBRARY
|
||||
optimized libboost_filesystem-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_filesystem-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY
|
||||
optimized libboost_program_options-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_program_options-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_REGEX_LIBRARY
|
||||
optimized libboost_regex-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_regex-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_SIGNALS_LIBRARY
|
||||
optimized libboost_signals-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_signals-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_SYSTEM_LIBRARY
|
||||
optimized libboost_system-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_system-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_THREAD_LIBRARY
|
||||
optimized libboost_thread-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_thread-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_WAVE_LIBRARY
|
||||
optimized libboost_wave-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_wave-vc80-mt-gd-${BOOST_VERSION})
|
||||
set(BOOST_THREAD_LIBRARY
|
||||
optimized libboost_thread-vc80-mt-${BOOST_VERSION}
|
||||
debug libboost_thread-vc80-mt-gd-${BOOST_VERSION})
|
||||
else(MSVC80)
|
||||
# MSVC 10.0 config
|
||||
set(BOOST_CONTEXT_LIBRARY
|
||||
optimized libboost_context-mt${addrsfx}
|
||||
debug libboost_context-mt${addrsfx}-gd)
|
||||
set(BOOST_FIBER_LIBRARY
|
||||
optimized libboost_fiber-mt${addrsfx}
|
||||
debug libboost_fiber-mt${addrsfx}-gd)
|
||||
set(BOOST_FILESYSTEM_LIBRARY
|
||||
optimized libboost_filesystem-mt${addrsfx}
|
||||
debug libboost_filesystem-mt${addrsfx}-gd)
|
||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY
|
||||
optimized libboost_program_options-mt${addrsfx}
|
||||
debug libboost_program_options-mt${addrsfx}-gd)
|
||||
set(BOOST_REGEX_LIBRARY
|
||||
optimized libboost_regex-mt${addrsfx}
|
||||
debug libboost_regex-mt${addrsfx}-gd)
|
||||
set(BOOST_SIGNALS_LIBRARY
|
||||
optimized libboost_signals-mt${addrsfx}
|
||||
debug libboost_signals-mt${addrsfx}-gd)
|
||||
set(BOOST_SYSTEM_LIBRARY
|
||||
optimized libboost_system-mt${addrsfx}
|
||||
debug libboost_system-mt${addrsfx}-gd)
|
||||
set(BOOST_THREAD_LIBRARY
|
||||
optimized libboost_thread-mt${addrsfx}
|
||||
debug libboost_thread-mt${addrsfx}-gd)
|
||||
set(BOOST_WAVE_LIBRARY
|
||||
optimized libboost_wave-mt${addrsfx}
|
||||
debug libboost_wave-mt${addrsfx}-gd)
|
||||
endif (MSVC80)
|
||||
set(BOOST_CONTEXT_LIBRARY
|
||||
optimized libboost_context-mt${addrsfx}
|
||||
debug libboost_context-mt${addrsfx}-gd)
|
||||
set(BOOST_FIBER_LIBRARY
|
||||
optimized libboost_fiber-mt${addrsfx}
|
||||
debug libboost_fiber-mt${addrsfx}-gd)
|
||||
set(BOOST_FILESYSTEM_LIBRARY
|
||||
optimized libboost_filesystem-mt${addrsfx}
|
||||
debug libboost_filesystem-mt${addrsfx}-gd)
|
||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY
|
||||
optimized libboost_program_options-mt${addrsfx}
|
||||
debug libboost_program_options-mt${addrsfx}-gd)
|
||||
set(BOOST_REGEX_LIBRARY
|
||||
optimized libboost_regex-mt${addrsfx}
|
||||
debug libboost_regex-mt${addrsfx}-gd)
|
||||
set(BOOST_SIGNALS_LIBRARY
|
||||
optimized libboost_signals-mt${addrsfx}
|
||||
debug libboost_signals-mt${addrsfx}-gd)
|
||||
set(BOOST_SYSTEM_LIBRARY
|
||||
optimized libboost_system-mt${addrsfx}
|
||||
debug libboost_system-mt${addrsfx}-gd)
|
||||
set(BOOST_THREAD_LIBRARY
|
||||
optimized libboost_thread-mt${addrsfx}
|
||||
debug libboost_thread-mt${addrsfx}-gd)
|
||||
set(BOOST_WAVE_LIBRARY
|
||||
optimized libboost_wave-mt${addrsfx}
|
||||
debug libboost_wave-mt${addrsfx}-gd)
|
||||
elseif (LINUX)
|
||||
set(BOOST_CONTEXT_LIBRARY
|
||||
optimized boost_context-mt${addrsfx}
|
||||
|
|
|
|||
|
|
@ -479,32 +479,6 @@ const std::string LLTexLayerSet::getBodyRegionName() const
|
|||
return mInfo->mBodyRegion;
|
||||
}
|
||||
|
||||
|
||||
// virtual
|
||||
void LLTexLayerSet::asLLSD(LLSD& sd) const
|
||||
{
|
||||
sd["visible"] = LLSD::Boolean(isVisible());
|
||||
LLSD layer_list_sd;
|
||||
layer_list_t::const_iterator layer_iter = mLayerList.begin();
|
||||
layer_list_t::const_iterator layer_end = mLayerList.end();
|
||||
for(; layer_iter != layer_end; ++layer_iter)
|
||||
{
|
||||
LLSD layer_sd;
|
||||
//LLTexLayerInterface* layer = (*layer_iter);
|
||||
//if (layer)
|
||||
//{
|
||||
// layer->asLLSD(layer_sd);
|
||||
//}
|
||||
layer_list_sd.append(layer_sd);
|
||||
}
|
||||
LLSD mask_list_sd;
|
||||
LLSD info_sd;
|
||||
sd["layers"] = layer_list_sd;
|
||||
sd["masks"] = mask_list_sd;
|
||||
sd["info"] = info_sd;
|
||||
}
|
||||
|
||||
|
||||
void LLTexLayerSet::destroyComposite()
|
||||
{
|
||||
if( mComposite )
|
||||
|
|
|
|||
|
|
@ -220,8 +220,6 @@ public:
|
|||
|
||||
static BOOL sHasCaches;
|
||||
|
||||
virtual void asLLSD(LLSD& sd) const;
|
||||
|
||||
protected:
|
||||
typedef std::vector<LLTexLayerInterface *> layer_list_t;
|
||||
layer_list_t mLayerList;
|
||||
|
|
|
|||
|
|
@ -463,13 +463,13 @@ BOOL LLParcel::importAccessEntry(std::istream& input_stream, LLAccessEntry* entr
|
|||
}
|
||||
else if ("time" == keyword)
|
||||
{
|
||||
S32 when(0);
|
||||
S32 when{};
|
||||
LLStringUtil::convertToS32(value, when);
|
||||
entry->mTime = when;
|
||||
}
|
||||
else if ("flags" == keyword)
|
||||
{
|
||||
U32 setting(0);
|
||||
U32 setting{};
|
||||
LLStringUtil::convertToU32(value, setting);
|
||||
entry->mFlags = setting;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,10 +60,10 @@
|
|||
|
||||
|
||||
BOOL gDebugSession = FALSE;
|
||||
BOOL gDebugGLSession = FALSE;
|
||||
BOOL gClothRipple = FALSE;
|
||||
BOOL gHeadlessClient = FALSE;
|
||||
BOOL gGLActive = FALSE;
|
||||
BOOL gGLDebugLoggingEnabled = TRUE;
|
||||
|
||||
static const std::string HEADLESS_VENDOR_STRING("Linden Lab");
|
||||
static const std::string HEADLESS_RENDERER_STRING("Headless");
|
||||
|
|
@ -85,8 +85,6 @@ void APIENTRY gl_debug_callback(GLenum source,
|
|||
const GLchar* message,
|
||||
GLvoid* userParam)
|
||||
{
|
||||
if (gGLDebugLoggingEnabled)
|
||||
{
|
||||
if (severity == GL_DEBUG_SEVERITY_HIGH_ARB)
|
||||
{
|
||||
LL_WARNS() << "----- GL ERROR --------" << LL_ENDL;
|
||||
|
|
@ -105,7 +103,6 @@ void APIENTRY gl_debug_callback(GLenum source,
|
|||
LL_ERRS() << "Halting on GL Error" << LL_ENDL;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void parse_glsl_version(S32& major, S32& minor);
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@
|
|||
|
||||
extern BOOL gDebugGL;
|
||||
extern BOOL gDebugSession;
|
||||
extern BOOL gDebugGLSession;
|
||||
extern llofstream gFailLog;
|
||||
|
||||
#define LL_GL_ERRS LL_ERRS("RenderState")
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
<key>debugsession</key>
|
||||
<map>
|
||||
<key>desc</key>
|
||||
<string>Run as if RenderDebugGL is TRUE, but log errors until end of session.</string>
|
||||
<string>Run as if RenderDebugGLSession is TRUE, but log errors until end of session.</string>
|
||||
<key>map-to</key>
|
||||
<string>DebugSession</string>
|
||||
</map>
|
||||
|
|
|
|||
|
|
@ -11425,6 +11425,17 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>UpdateRememberPasswordSetting</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Save 'rememeber password' setting for current user.</string>
|
||||
<key>Persist</key>
|
||||
<integer>0</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>OctreeMaxNodeCapacity</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
@ -12021,10 +12032,10 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Backup</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>RenderDebugGL</key>
|
||||
<key>RenderDebugGLSession</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Enable strict GL debugging.</string>
|
||||
<string>Enable strict GL debugging on the start of next session.</string>
|
||||
<key>Persist</key>
|
||||
<integer>0</integer>
|
||||
<key>Type</key>
|
||||
|
|
|
|||
|
|
@ -685,7 +685,7 @@ static void settings_modify()
|
|||
// [/RLVa:KB]
|
||||
LLVOSurfacePatch::sLODFactor = gSavedSettings.getF32("RenderTerrainLODFactor");
|
||||
LLVOSurfacePatch::sLODFactor *= LLVOSurfacePatch::sLODFactor; //square lod factor to get exponential range of [1,4]
|
||||
gDebugGL = gSavedSettings.getBOOL("RenderDebugGL") || gDebugSession;
|
||||
gDebugGL = gDebugGLSession || gDebugSession;
|
||||
gDebugPipeline = gSavedSettings.getBOOL("RenderDebugPipeline");
|
||||
}
|
||||
|
||||
|
|
@ -3254,6 +3254,15 @@ bool LLAppViewer::initConfiguration()
|
|||
ll_init_fail_log(gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "test_failures.log"));
|
||||
}
|
||||
|
||||
if (gSavedSettings.getBOOL("RenderDebugGLSession"))
|
||||
{
|
||||
gDebugGLSession = TRUE;
|
||||
gDebugGL = TRUE;
|
||||
// gDebugGL can cause excessive logging
|
||||
// so it's limited to a single session
|
||||
gSavedSettings.setBOOL("RenderDebugGLSession", FALSE);
|
||||
}
|
||||
|
||||
// <FS:TT> Hacking to save the skin and theme for future use.
|
||||
mCurrentSkin = gSavedSettings.getString("SkinCurrent");
|
||||
mCurrentSkinTheme = gSavedSettings.getString("SkinCurrentTheme");
|
||||
|
|
|
|||
|
|
@ -67,7 +67,6 @@
|
|||
#pragma GCC diagnostic ignored "-Wuninitialized"
|
||||
#endif
|
||||
|
||||
extern BOOL gGLDebugLoggingEnabled;
|
||||
#define LL_MAX_INDICES_COUNT 1000000
|
||||
|
||||
static LLStaticHashedString sTextureIndexIn("texture_index_in");
|
||||
|
|
@ -1095,22 +1094,12 @@ void LLFace::getPlanarProjectedParams(LLQuaternion* face_rot, LLVector3* face_po
|
|||
}
|
||||
|
||||
const LLVolumeFace& vf = getViewerObject()->getVolume()->getVolumeFace(mTEOffset);
|
||||
|
||||
if( !vf.mNormals )
|
||||
if (! (vf.mNormals && vf.mTangents))
|
||||
{
|
||||
LL_WARNS( ) << "Volume face without normal vector (object id: " << getViewerObject()->getID().asString() << ")" << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if( !vf.mTangents )
|
||||
{
|
||||
LL_WARNS() << "Volume face without tangent (object id: " << getViewerObject()->getID().asString() << ")" << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
||||
const LLVector4a& normal4a = vf.mNormals[0];
|
||||
const LLVector4a& tangent = vf.mTangents[0];
|
||||
const LLVector4a& normal4a = *vf.mNormals;
|
||||
const LLVector4a& tangent = *vf.mTangents;
|
||||
|
||||
LLVector4a binormal4a;
|
||||
binormal4a.setCross3(normal4a, tangent);
|
||||
|
|
@ -1635,7 +1624,6 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
|
|||
!rebuild_weights && //TODO: add support for weights
|
||||
!volume.isUnique()) //source volume is NOT flexi
|
||||
{ //use transform feedback to pack vertex buffer
|
||||
//gGLDebugLoggingEnabled = TRUE;
|
||||
LL_RECORD_BLOCK_TIME(FTM_FACE_GEOM_FEEDBACK);
|
||||
LLGLEnable discard(GL_RASTERIZER_DISCARD);
|
||||
LLVertexBuffer* buff = (LLVertexBuffer*) vf.mVertexBuffer.get();
|
||||
|
|
|
|||
|
|
@ -1790,7 +1790,7 @@ void LLFavoritesOrderStorage::destroyClass()
|
|||
file.close();
|
||||
LLFile::remove(filename);
|
||||
}
|
||||
if(mSaveOnExit)
|
||||
if(mSaveOnExit || gSavedSettings.getBOOL("UpdateRememberPasswordSetting"))
|
||||
{
|
||||
LLFavoritesOrderStorage::instance().saveFavoritesRecord(true);
|
||||
}
|
||||
|
|
@ -2168,7 +2168,7 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed)
|
|||
}
|
||||
}
|
||||
|
||||
if((items != mPrevFavorites) || name_changed || pref_changed)
|
||||
if((items != mPrevFavorites) || name_changed || pref_changed || gSavedSettings.getBOOL("UpdateRememberPasswordSetting"))
|
||||
{
|
||||
std::string filename = getStoredFavoritesFilename();
|
||||
if (!filename.empty())
|
||||
|
|
@ -2189,6 +2189,12 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed)
|
|||
LLSD user_llsd;
|
||||
S32 fav_iter = 0;
|
||||
mMissingSLURLs.clear();
|
||||
|
||||
LLSD save_pass;
|
||||
save_pass["save_password"] = gSavedSettings.getBOOL("RememberPassword");
|
||||
user_llsd[fav_iter] = save_pass;
|
||||
fav_iter++;
|
||||
|
||||
for (LLInventoryModel::item_array_t::iterator it = items.begin(); it != items.end(); it++)
|
||||
{
|
||||
LLSD value;
|
||||
|
|
|
|||
|
|
@ -325,11 +325,10 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
|
|||
username_combo->setReturnCallback(boost::bind(&LLPanelLogin::onClickConnect, this));
|
||||
username_combo->setKeystrokeOnEsc(TRUE);
|
||||
|
||||
if (!mFirstLoginThisInstall)
|
||||
{
|
||||
LLCheckBoxCtrl* remember_name = getChild<LLCheckBoxCtrl>("remember_name");
|
||||
remember_name->setCommitCallback(boost::bind(&LLPanelLogin::onRememberUserCheck, this));
|
||||
}
|
||||
|
||||
LLCheckBoxCtrl* remember_name = getChild<LLCheckBoxCtrl>("remember_name");
|
||||
remember_name->setCommitCallback(boost::bind(&LLPanelLogin::onRememberUserCheck, this));
|
||||
getChild<LLCheckBoxCtrl>("remember_password")->setCommitCallback(boost::bind(&LLPanelLogin::onRememberPasswordCheck, this));
|
||||
}
|
||||
|
||||
void LLPanelLogin::addFavoritesToStartLocation()
|
||||
|
|
@ -402,10 +401,22 @@ void LLPanelLogin::addFavoritesToStartLocation()
|
|||
combo->addSeparator();
|
||||
LL_DEBUGS() << "Loading favorites for " << iter->first << LL_ENDL;
|
||||
LLSD user_llsd = iter->second;
|
||||
bool update_password_setting = true;
|
||||
for (LLSD::array_const_iterator iter1 = user_llsd.beginArray();
|
||||
iter1 != user_llsd.endArray(); ++iter1)
|
||||
{
|
||||
std::string label = (*iter1)["name"].asString();
|
||||
if ((*iter1).has("save_password"))
|
||||
{
|
||||
bool save_password = (*iter1)["save_password"].asBoolean();
|
||||
gSavedSettings.setBOOL("RememberPassword", save_password);
|
||||
if (!save_password)
|
||||
{
|
||||
getChild<LLButton>("connect_btn")->setEnabled(false);
|
||||
}
|
||||
update_password_setting = false;
|
||||
}
|
||||
|
||||
std::string label = (*iter1)["name"].asString();
|
||||
std::string value = (*iter1)["slurl"].asString();
|
||||
if(label != "" && value != "")
|
||||
{
|
||||
|
|
@ -417,6 +428,10 @@ void LLPanelLogin::addFavoritesToStartLocation()
|
|||
}
|
||||
}
|
||||
}
|
||||
if (update_password_setting)
|
||||
{
|
||||
gSavedSettings.setBOOL("UpdateRememberPasswordSetting", TRUE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (combo->getValue().asString().empty())
|
||||
|
|
@ -529,21 +544,12 @@ void LLPanelLogin::populateFields(LLPointer<LLCredential> credential, bool remem
|
|||
LL_WARNS() << "Attempted fillFields with no login view shown" << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
if (sInstance->mFirstLoginThisInstall)
|
||||
{
|
||||
LLUICtrl* remember_check = sInstance->getChild<LLUICtrl>("remember_check");
|
||||
remember_check->setValue(remember_psswrd);
|
||||
// no list to populate
|
||||
setFields(credential);
|
||||
}
|
||||
else
|
||||
{
|
||||
sInstance->getChild<LLUICtrl>("remember_name")->setValue(remember_user);
|
||||
LLUICtrl* remember_password = sInstance->getChild<LLUICtrl>("remember_password");
|
||||
remember_password->setValue(remember_user && remember_psswrd);
|
||||
remember_password->setEnabled(remember_user);
|
||||
sInstance->populateUserList(credential);
|
||||
}
|
||||
|
||||
sInstance->getChild<LLUICtrl>("remember_name")->setValue(remember_user);
|
||||
LLUICtrl* remember_password = sInstance->getChild<LLUICtrl>("remember_password");
|
||||
remember_password->setValue(remember_user && remember_psswrd);
|
||||
remember_password->setEnabled(remember_user);
|
||||
sInstance->populateUserList(credential);
|
||||
}
|
||||
|
||||
//static
|
||||
|
|
@ -704,16 +710,9 @@ void LLPanelLogin::getFields(LLPointer<LLCredential>& credential,
|
|||
}
|
||||
}
|
||||
credential = gSecAPIHandler->createCredential(LLGridManager::getInstance()->getGrid(), identifier, authenticator);
|
||||
if (!sInstance->mFirstLoginThisInstall)
|
||||
{
|
||||
remember_psswrd = sInstance->getChild<LLUICtrl>("remember_password")->getValue();
|
||||
remember_user = sInstance->getChild<LLUICtrl>("remember_name")->getValue();
|
||||
}
|
||||
else
|
||||
{
|
||||
remember_psswrd = sInstance->getChild<LLUICtrl>("remember_check")->getValue();
|
||||
remember_user = remember_psswrd; // on panel_login_first "remember_check" is named as 'remember me'
|
||||
}
|
||||
|
||||
remember_psswrd = sInstance->getChild<LLUICtrl>("remember_password")->getValue();
|
||||
remember_user = sInstance->getChild<LLUICtrl>("remember_name")->getValue();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1076,17 +1075,18 @@ void LLPanelLogin::onUserListCommit(void*)
|
|||
}
|
||||
|
||||
// static
|
||||
// At the moment only happens if !mFirstLoginThisInstall
|
||||
void LLPanelLogin::onRememberUserCheck(void*)
|
||||
{
|
||||
if (sInstance && !sInstance->mFirstLoginThisInstall)
|
||||
if (sInstance)
|
||||
{
|
||||
LLCheckBoxCtrl* remember_name(sInstance->getChild<LLCheckBoxCtrl>("remember_name"));
|
||||
LLCheckBoxCtrl* remember_psswrd(sInstance->getChild<LLCheckBoxCtrl>("remember_password"));
|
||||
LLComboBox* user_combo(sInstance->getChild<LLComboBox>("username_combo"));
|
||||
|
||||
bool remember = remember_name->getValue().asBoolean();
|
||||
if (user_combo->getCurrentIndex() != -1 && !remember)
|
||||
if (!sInstance->mFirstLoginThisInstall
|
||||
&& user_combo->getCurrentIndex() != -1
|
||||
&& !remember)
|
||||
{
|
||||
remember = true;
|
||||
remember_name->setValue(true);
|
||||
|
|
@ -1100,6 +1100,14 @@ void LLPanelLogin::onRememberUserCheck(void*)
|
|||
}
|
||||
}
|
||||
|
||||
void LLPanelLogin::onRememberPasswordCheck(void*)
|
||||
{
|
||||
if (sInstance)
|
||||
{
|
||||
gSavedSettings.setBOOL("UpdateRememberPasswordSetting", TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
void LLPanelLogin::onPassKey(LLLineEditor* caller, void* user_data)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ private:
|
|||
static void onUserNameTextEnty(void*);
|
||||
static void onUserListCommit(void*);
|
||||
static void onRememberUserCheck(void*);
|
||||
static void onRememberPasswordCheck(void*);
|
||||
static void onPassKey(LLLineEditor* caller, void* user_data);
|
||||
static void updateServerCombo();
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ LLPanelLoginListener::LLPanelLoginListener(LLPanelLogin* instance):
|
|||
|
||||
void LLPanelLoginListener::onClickConnect(const LLSD&) const
|
||||
{
|
||||
mPanel->onClickConnect(NULL);
|
||||
mPanel->onClickConnect(false);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -591,13 +591,6 @@ static bool handleRenderBumpChanged(const LLSD& newval)
|
|||
return true;
|
||||
}
|
||||
|
||||
static bool handleRenderDebugGLChanged(const LLSD& newvalue)
|
||||
{
|
||||
gDebugGL = newvalue.asBoolean() || gDebugSession;
|
||||
gGL.clearErrors();
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool handleRenderDebugPipelineChanged(const LLSD& newvalue)
|
||||
{
|
||||
gDebugPipeline = newvalue.asBoolean();
|
||||
|
|
@ -1200,7 +1193,6 @@ void settings_setup_listeners()
|
|||
gSavedSettings.getControl("RenderObjectBump")->getSignal()->connect(boost::bind(&handleRenderBumpChanged, _2));
|
||||
gSavedSettings.getControl("RenderMaxVBOSize")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
|
||||
gSavedSettings.getControl("RenderDeferredNoise")->getSignal()->connect(boost::bind(&handleReleaseGLBufferChanged, _2));
|
||||
gSavedSettings.getControl("RenderDebugGL")->getSignal()->connect(boost::bind(&handleRenderDebugGLChanged, _2));
|
||||
gSavedSettings.getControl("RenderDebugPipeline")->getSignal()->connect(boost::bind(&handleRenderDebugPipelineChanged, _2));
|
||||
gSavedSettings.getControl("RenderResolutionDivisor")->getSignal()->connect(boost::bind(&handleRenderResolutionDivisorChanged, _2));
|
||||
// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
|
||||
|
|
|
|||
|
|
@ -1403,8 +1403,7 @@ BOOL LLViewerTextureList::createUploadFile(const std::string& filename,
|
|||
LLPointer<LLImageFormatted> image = LLImageFormatted::createFromType(codec);
|
||||
if (image.isNull())
|
||||
{
|
||||
// <FS:ND> Pointer is null!
|
||||
//image->setLastError("Couldn't open the image to be uploaded.");
|
||||
LL_WARNS() << "Couldn't open the image to be uploaded." << LL_ENDL;
|
||||
return FALSE;
|
||||
}
|
||||
if (!image->load(filename))
|
||||
|
|
|
|||
|
|
@ -115,8 +115,6 @@ static LLTrace::BlockTimerStatHandle FTM_GEN_TRIANGLES("Generate Triangles");
|
|||
static LLTrace::BlockTimerStatHandle FTM_GEN_VOLUME("Generate Volumes");
|
||||
static LLTrace::BlockTimerStatHandle FTM_VOLUME_TEXTURES("Volume Textures");
|
||||
|
||||
extern BOOL gGLDebugLoggingEnabled;
|
||||
|
||||
// NaCl - Graphics crasher protection
|
||||
static bool enableVolumeSAPProtection()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4403,14 +4403,14 @@
|
|||
<menu_item_separator />
|
||||
|
||||
<menu_item_check
|
||||
label="Debug GL"
|
||||
label="Start Debug GL on next run"
|
||||
name="Debug GL">
|
||||
<menu_item_check.on_check
|
||||
function="CheckControl"
|
||||
parameter="RenderDebugGL" />
|
||||
parameter="RenderDebugGLSession" />
|
||||
<menu_item_check.on_click
|
||||
function="ToggleControl"
|
||||
parameter="RenderDebugGL" />
|
||||
parameter="RenderDebugGLSession" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Debug Pipeline"
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@
|
|||
follows="left|top"
|
||||
font="SansSerifMedium"
|
||||
text_color="EmphasisColor"
|
||||
height="16"
|
||||
height="24"
|
||||
left="408"
|
||||
bottom_delta="0"
|
||||
label="Remember password"
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
auto_resize="false"
|
||||
follows="left|right|top"
|
||||
name="widget_container"
|
||||
width="532"
|
||||
width="730"
|
||||
left="0"
|
||||
top="0"
|
||||
height="80">
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
allow_text_entry="true"
|
||||
follows="left|bottom"
|
||||
height="32"
|
||||
left="2"
|
||||
left="42"
|
||||
label="Username"
|
||||
combo_editor.font="SansSerifLarge"
|
||||
max_chars="128"
|
||||
|
|
@ -126,7 +126,7 @@
|
|||
follows="left|top"
|
||||
width="200"
|
||||
height="32"
|
||||
left="220"
|
||||
left="262"
|
||||
max_length_chars="16"
|
||||
name="password_edit"
|
||||
label="Password"
|
||||
|
|
@ -145,43 +145,59 @@
|
|||
label_color="White"
|
||||
font="SansSerifLarge"
|
||||
name="connect_btn"
|
||||
left="432"
|
||||
width="100"
|
||||
left_pad="15"
|
||||
width="120"
|
||||
height="32"
|
||||
top="0" />
|
||||
<text
|
||||
follows="left|top"
|
||||
font="SansSerifLarge"
|
||||
font.style="BOLD"
|
||||
text_color="EmphasisColor"
|
||||
height="34"
|
||||
name="sign_up_text"
|
||||
left_pad="10"
|
||||
top="0"
|
||||
width="200"
|
||||
valign="center">
|
||||
Sign up
|
||||
</text>
|
||||
<check_box
|
||||
follows="left|top"
|
||||
font="SansSerifLarge"
|
||||
left="42"
|
||||
top="32"
|
||||
height="24"
|
||||
label="Remember me"
|
||||
word_wrap="down"
|
||||
check_button.bottom="3"
|
||||
name="remember_name"
|
||||
tool_tip="Already remembered user can be forgotten from Me > Preferences > Advanced > Remembered Usernames."
|
||||
width="198" />
|
||||
<check_box
|
||||
control_name="RememberPassword"
|
||||
follows="left|top"
|
||||
font="SansSerifLarge"
|
||||
left="0"
|
||||
top="32"
|
||||
text_color="EmphasisColor"
|
||||
height="24"
|
||||
label="Remember me"
|
||||
left="262"
|
||||
bottom_delta="0"
|
||||
label="Remember password"
|
||||
word_wrap="down"
|
||||
check_button.bottom="3"
|
||||
name="remember_check"
|
||||
width="145" />
|
||||
name="remember_password"
|
||||
width="198" />
|
||||
<text
|
||||
follows="left|top"
|
||||
font="SansSerifLarge"
|
||||
text_color="EmphasisColor"
|
||||
height="16"
|
||||
name="forgot_password_text"
|
||||
left="219"
|
||||
left="492"
|
||||
top="34"
|
||||
width="200">
|
||||
Forgotten password
|
||||
</text>
|
||||
<text
|
||||
follows="left|top"
|
||||
font="SansSerifLarge"
|
||||
text_color="EmphasisColor"
|
||||
height="16"
|
||||
name="sign_up_text"
|
||||
left="432"
|
||||
top="34"
|
||||
width="200">
|
||||
Sign up
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
height="100"
|
||||
|
|
|
|||
Loading…
Reference in New Issue