summaryrefslogtreecommitdiff
path: root/indra/newview/llpanellogin.cpp
AgeCommit message (Collapse)Author
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2023-10-17SL-18837: Avoid stuffing build number into 32-bit int.Nat Goodspeed
Even though LLVersionInfo::getBuild() already returns a 64-bit int, various consumers assumed it could fit into 32 bits. It was especially bad to pass it to a classic C style varargs function. Only on a little-endian CPU, and only because it was the last argument, the damage was limited to truncation -- instead of arbitrary undefined behavior. Where the consumer doesn't support 64-bit ints, pass as string instead.
2023-10-04SL-18837: Merge branch 'main' of secondlife/viewer into actionsNat Goodspeed
2023-09-15SL-20278 Disconnect saving MFA from saving passwordAndrey Kleshchev
2023-09-07SL-18837: Merge branch 'main' into actionsNat Goodspeed
2023-06-28SL-18837: Make LLVersionInfo::getBuild() S64 for GitHub run IDs.Nat Goodspeed
2023-04-19SL-19609 Urls aren't dispatched according to the indicated gridAndrey Kleshchev
2022-11-18SL-18528 Clear cached MFA token when Remember Password is unchecked in viewerMnikolenko Productengine
2022-03-28SL-17039 "Remember Password" checkbox state should be saved per account nameMnikolenko Productengine
2022-03-23SL-17064 Add a Remember Password checkbox to the first time login screen.Andrey Kleshchev
2021-11-03SL-15830 remove ancient "non-system grid" handling from the viewer #2Mnikolenko Productengine
2021-08-13SL-15830 remove ancient "non-system grid" handling from the viewerMnikolenko Productengine
2021-04-29Merge master (DRTVWR-515) into DRTVWR-516-maintAndrey Kleshchev
# Conflicts: # autobuild.xml # doc/contributions.txt # indra/llcommon/llcoros.cpp # indra/llmessage/llcoproceduremanager.cpp # indra/newview/llfloaterfixedenvironment.cpp # indra/newview/llfloaterimsessiontab.cpp
2021-04-09SL-15094 FIXED ‘My last location’ is used instead of entered locationMnikolenko Productengine
2021-02-01Merge branch 'master' of https://bitbucket.org/lindenlab/viewer/src/master ↵Andrey Kleshchev
into DRTVWR-515-maint # Conflicts: # autobuild.xml (llca) # indra/llwindow/llwindow.h (SL-13507 vs SL-5894) # indra/newview/llscenemonitor.cpp (SL-14422) # indra/newview/llvovolume.cpp (SL-12069)
2021-02-01Merge branch 'master' into DRTVWR-516-maintAndrey Lihatskiy
2020-11-13Merge branch 'master' into DRTVWR-516-maintAndrey Lihatskiy
# Conflicts: # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.cpp # indra/newview/llenvironment.cpp
2020-11-13Merge branch 'master' into DRTVWR-515-maintAndrey Lihatskiy
# Conflicts: # indra/newview/llfloatereditextdaycycle.cpp # indra/newview/llfloaterfixedenvironment.cpp
2020-11-11Merge branch 'master' into DRTVWR-513-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llui/llfolderviewmodel.h # indra/newview/lltexturecache.cpp # indra/newview/llviewermenu.h # indra/newview/skins/default/xui/en/menu_wearable_list_item.xml
2020-10-28SL-14167 FIXED Viewer substitutes agni start locations when logging in to ↵Mnikolenko Productengine
'My last location' on non-agni grids
2020-09-29SL-13990 'My last location' sometimes is not appliedAndrey Kleshchev
2020-08-18Merge branch 'master' into DRTVWR-515-maintAndrey Lihatskiy
# Conflicts: # indra/newview/llimprocessing.cpp
2020-08-18Merge branch 'master' into DRTVWR-507-maintAndrey Lihatskiy
2020-08-14SL-13293 Fixed reshape behavior for scale changeAndrey Kleshchev
2020-07-21Merge branch 'master' into DRTVWR-507-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml
2020-07-20Merge branch 'master' into DRTVWR-501-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/newview/llimprocessing.cpp
2020-05-27SL-13292 Uncheck Remember Password option when Remember Me is uncheckedMnikolenko Productengine
2020-04-16SL-13008 Crash after a second login attempt with unsupported name formatAndrey Kleshchev
2020-03-25SL-11216: Convert LLVersionInfo to an LLSingleton.Nat Goodspeed
This changeset is meant to exemplify how to convert a "namespace" class whose methods are static -- and whose data are module-static -- to an LLSingleton. LLVersionInfo has no initClass() or cleanupClass() methods, but the general idea is the same. * Derive the class from LLSingleton<T>: class LLSomeSingleton: public LLSingleton<LLSomeSingleton> { ... }; * Add LLSINGLETON(LLSomeSingleton); in the private section of the class. This usage implies a separate LLSomeSingleton::LLSomeSingleton() definition, as described in indra/llcommon/llsingleton.h. * Move module-scope data in the .cpp file to non-static class members. Change any sVariableName to mVariableName to avoid being outright misleading. * Make static class methods non-static. Remove '//static' comments from method definitions as needed. * For LLVersionInfo specifically, the 'const std::string&' return type was replaced with 'std::string'. Returning a reference to a static or a member, const or otherwise, is an anti-pattern: the interface constrains the implementation, prohibiting possibly later returning a temporary (an expression). * For LLVersionInfo specifically, 'const S32' return type was replaced with simple 'S32'. 'const' is just noise in that usage. * Simple member initialization (e.g. the original initializer expressions for static variables) can be done with member{ value } initializers (no examples here though). * Delete initClass() method. * LLSingleton's forté is of course lazy initialization. It might work to simply delete any calls to initClass(). But if there are side effects that must happen at that moment, replace LLSomeSingleton::initClass() with (void)LLSomeSingleton::instance(); * Most initClass() initialization can be done in the constructor, as would normally be the case. * Initialization that might cause a circular LLSingleton reference should be moved to initSingleton(). Override 'void initSingleton();' should be private. * For LLVersionInfo specifically, certain initialization that used to be lazily performed was made unconditional, due to its low cost. * For LLVersionInfo specifically, certain initialization involved calling methods that have become non-static. This was moved to initSingleton() because, in a constructor body, 'this' does not yet point to the enclosing class. * Delete cleanupClass() method. * There is already a generic LLSingletonBase::deleteAll() call in LLAppViewer::cleanup(). It might work to let this new LLSingleton be cleaned up with all the rest. But if there are side effects that must happen at that moment, replace LLSomeSingleton::cleanupClass() with LLSomeSingleton::deleteSingleton(). That said, much of the benefit of converting to LLSingleton is deleteAll()'s guarantee that cross-LLSingleton dependencies will be properly honored: we're trying to migrate the code base away from the present fragile manual cleanup sequence. * Most cleanupClass() cleanup can be done in the destructor, as would normally be the case. * Cleanup that might throw an exception should be moved to cleanupSingleton(). Override 'void cleanupSingleton();' should be private. * Within LLSomeSingleton methods, remove any existing LLSomeSingleton::methodName() qualification: simple methodName() is better. * In the rest of the code base, convert most LLSomeSingleton::methodName() references to LLSomeSingleton::instance().methodName(). (Prefer instance() to getInstance() because a reference does not admit the possibility of NULL.) * Of course, LLSomeSingleton::ENUM_VALUE can remain unchanged. In general, for many successive references to an LLSingleton instance, it can be useful to capture the instance() as in: auto& versionInfo{LLVersionInfo::instance()}; // ... versionInfo.getVersion() ... We did not do that here only to simplify the code review. The STRINGIZE(expression) macro encapsulates: std::ostringstream out; out << expression; return out.str(); We used that in a couple places. For LLVersionInfo specifically, lllogininstance_test.cpp used to dummy out a couple specific static methods. It's harder to dummy out LLSingleton::instance() references, so we add the real class to that test.
2020-02-03Merge branch 'DRTVWR-500' into DRTVWR-501Andrey Lihatskiy
2020-01-29SL-12590 SL-12608 Fixed wrong statesandreykproductengine
2020-01-20SL-12596 Fixed incorectly enabled checkbox and enabled login buttonandreykproductengine
2020-01-16SL-12556 Fixed another case of login button being activeandreykproductengine
2020-01-13SL-12555 Fixed Login failed with credencials after the first incorrect entryandreykproductengine
2020-01-13SL-12556 Fixed The ‘Log In’ button being active with empty fieldsandreykproductengine
2020-01-09SL-12533 Correct password drop and fixed 'dirty' conditionandreykproductengine
2020-01-09SL-12533 Switching between grids on login page does not always switch the ↵andreykproductengine
remembered user list
2020-01-03SL-9699 Do not disable 'remember me' checkboxandreykproductengine
2019-11-17SL-9699 Fixed processing of placeholderandreykproductengine
2019-11-15SL-9699 First login panel checkbox was misinterpretedandreykproductengine
2019-11-13SL-9699 Field should be populated as long as there is data, regardless of ↵andreykproductengine
'remember password'
2019-10-31SL-11913 Favorites not resetting properlyandreykproductengine
2019-08-09SL-9699 Login selectionandreykproductengine
2019-04-26Automated merge with file:///Users/nat/linden/viewer-gridselectNat Goodspeed
2019-04-25SL-11049: Notice explicit --grid command-line switch and honor it.Nat Goodspeed
LLPanelLogin's constructor checks both LLGridManager::getGrid() and LLStartUp::getStartSLURL(). But by the time we get there, we've blurred the distinction between explicit command-line arguments and defaults left over from a previous run. Of course, if the grid implied by getStartSLURL() is the same as the getGrid(), the distinction is irrelevant. But if they differ, up until now, getStartSLURL() has always "won" -- even when getGrid() was set by an explicit --grid switch whereas getStartSLURL() was only left over from a previous run. Notice that case and try to avoid overriding the explicitly-specified grid with the grid from the default SLURL.
2019-04-03SL-10685 LLPanelLogin crashandreykproductengine
2018-06-18MAINT-8751 Add a link to create an account to the viewer login screenmaxim_productengine
2018-04-20MAINT-8540 Eliminated a lot of xui related log warnings on startup and ↵andreykproductengine
opening preferences
2018-04-05MAINT-8488 FIXED Favourite location list on login screen is not updated ↵maxim_productengine
after pressing "Esc" key while in username field
2017-12-22MAINT-8120 Account that contains last name Resident cannot see his Favorites ↵Mnikolenko Productengine
on Login Screen