diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-07-18 01:56:42 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-07-18 01:56:42 +0300 |
commit | bc3f2d53d10c64ccded6aaa14ea37eac78ef6856 (patch) | |
tree | cf78de68ab8ad66719659cf858fb073b4d2c4a13 /indra/llui | |
parent | 37f41392cdb90f2b918828f0bc2b22f6705b6db4 (diff) |
SL-19891 Make sure focusable elements clear focus on destruction
Diffstat (limited to 'indra/llui')
-rw-r--r-- | indra/llui/lldraghandle.cpp | 1 | ||||
-rw-r--r-- | indra/llui/llfolderviewitem.cpp | 1 | ||||
-rw-r--r-- | indra/llui/lllayoutstack.cpp | 2 | ||||
-rw-r--r-- | indra/llui/llresizehandle.cpp | 5 | ||||
-rw-r--r-- | indra/llui/llresizehandle.h | 1 |
5 files changed, 10 insertions, 0 deletions
diff --git a/indra/llui/lldraghandle.cpp b/indra/llui/lldraghandle.cpp index 48bf5bb80f..220f5ee825 100644 --- a/indra/llui/lldraghandle.cpp +++ b/indra/llui/lldraghandle.cpp @@ -68,6 +68,7 @@ LLDragHandle::LLDragHandle(const LLDragHandle::Params& p) LLDragHandle::~LLDragHandle() { + gFocusMgr.removeKeyboardFocusWithoutCallback(this); removeChild(mTitleBox); delete mTitleBox; } diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp index e2b5279aab..5319af1b60 100644 --- a/indra/llui/llfolderviewitem.cpp +++ b/indra/llui/llfolderviewitem.cpp @@ -177,6 +177,7 @@ LLFolderViewItem::LLFolderViewItem(const LLFolderViewItem::Params& p) LLFolderViewItem::~LLFolderViewItem() { mViewModelItem = NULL; + gFocusMgr.removeKeyboardFocusWithoutCallback(this); } BOOL LLFolderViewItem::postBuild() diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index ae9dba5945..7b22f9dbdc 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -89,6 +89,8 @@ LLLayoutPanel::~LLLayoutPanel() // probably not necessary, but... delete mResizeBar; mResizeBar = NULL; + + gFocusMgr.removeKeyboardFocusWithoutCallback(this); } F32 LLLayoutPanel::getAutoResizeFactor() const diff --git a/indra/llui/llresizehandle.cpp b/indra/llui/llresizehandle.cpp index 24794305ac..13ef0fdb7f 100644 --- a/indra/llui/llresizehandle.cpp +++ b/indra/llui/llresizehandle.cpp @@ -70,6 +70,11 @@ LLResizeHandle::LLResizeHandle(const LLResizeHandle::Params& p) } } +LLResizeHandle::~LLResizeHandle() +{ + gFocusMgr.removeKeyboardFocusWithoutCallback(this); +} + BOOL LLResizeHandle::handleMouseDown(S32 x, S32 y, MASK mask) { diff --git a/indra/llui/llresizehandle.h b/indra/llui/llresizehandle.h index 7541b9e6c0..ae20ecaa77 100644 --- a/indra/llui/llresizehandle.h +++ b/indra/llui/llresizehandle.h @@ -45,6 +45,7 @@ public: Params(); }; + ~LLResizeHandle(); protected: LLResizeHandle(const LLResizeHandle::Params&); friend class LLUICtrlFactory; |