fixed major bug (EXT-2748) Crash on exit from viewer without log in
When a focused control is being destroyed, focus gets passed to the login panel, that leads to crash if the panel has been destroyed already. Made the focus manager reset keyboard focus in this case. Found unreachable code in llstartup.cpp! --HG-- branch : product-enginemeow-7.2.2
parent
ac52668b06
commit
614865edae
|
|
@ -391,6 +391,10 @@ LLPanelLogin::~LLPanelLogin()
|
|||
|
||||
//// We know we're done with the image, so be rid of it.
|
||||
//gTextureList.deleteImage( mLogoImage );
|
||||
|
||||
// Controls having keyboard focus by default
|
||||
// must reset it on destroy. (EXT-2748)
|
||||
gFocusMgr.setDefaultKeyboardFocus(NULL);
|
||||
}
|
||||
|
||||
// virtual
|
||||
|
|
@ -682,8 +686,6 @@ void LLPanelLogin::closePanel()
|
|||
if (sInstance)
|
||||
{
|
||||
gViewerWindow->getRootView()->removeChild( LLPanelLogin::sInstance );
|
||||
|
||||
gFocusMgr.setDefaultKeyboardFocus(NULL);
|
||||
|
||||
delete sInstance;
|
||||
sInstance = NULL;
|
||||
|
|
|
|||
|
|
@ -2153,7 +2153,7 @@ void login_callback(S32 option, void *userdata)
|
|||
LLStartUp::setStartupState( STATE_LOGIN_CLEANUP );
|
||||
return;
|
||||
}
|
||||
else if (QUIT_OPTION == option)
|
||||
else if (QUIT_OPTION == option) // *TODO: THIS CODE SEEMS TO BE UNREACHABLE!!!!! login_callback is never called with option equal to QUIT_OPTION
|
||||
{
|
||||
// Make sure we don't save the password if the user is trying to clear it.
|
||||
std::string first, last, password;
|
||||
|
|
|
|||
Loading…
Reference in New Issue