summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/llemojihelper.cpp10
-rw-r--r--indra/newview/llfloateremojipicker.cpp9
2 files changed, 19 insertions, 0 deletions
diff --git a/indra/llui/llemojihelper.cpp b/indra/llui/llemojihelper.cpp
index b2c59ce775..7cdd19bebc 100644
--- a/indra/llui/llemojihelper.cpp
+++ b/indra/llui/llemojihelper.cpp
@@ -117,7 +117,17 @@ void LLEmojiHelper::showHelper(LLUICtrl* hostctrl_p, S32 local_x, S32 local_y, c
S32 top = floater_y - HELPER_FLOATER_OFFSET_Y + rect.getHeight();
rect.setLeftTopAndSize(left, top, rect.getWidth(), rect.getHeight());
pHelperFloater->setRect(rect);
+
+ // Hack: Trying to open floater, search for a match,
+ // and hide floater immediately if no match found,
+ // instead of checking prior to opening
+ //
+ // Supress sounds in case floater won't be shown.
+ // Todo: add some kind of shouldShow(short_code)
+ U8 sound_flags = pHelperFloater->getSoundFlags();
+ pHelperFloater->setSoundFlags(LLView::SILENT);
pHelperFloater->openFloater(LLSD().with("hint", short_code));
+ pHelperFloater->setSoundFlags(sound_flags);
}
void LLEmojiHelper::hideHelper(const LLUICtrl* ctrl_p, bool strict)
diff --git a/indra/newview/llfloateremojipicker.cpp b/indra/newview/llfloateremojipicker.cpp
index c5f4a2f0cf..ab76f3473b 100644
--- a/indra/newview/llfloateremojipicker.cpp
+++ b/indra/newview/llfloateremojipicker.cpp
@@ -377,6 +377,9 @@ void LLFloaterEmojiPicker::initialize()
{
if (!mHint.empty())
{
+ // Hack: Trying to open floater, search for a match,
+ // and hide floater immediately if no match found,
+ // instead of checking prior to opening
hideFloater();
return;
}
@@ -406,6 +409,12 @@ void LLFloaterEmojiPicker::initialize()
return;
}
+ if (!mHint.empty() && getSoundFlags() == LLView::SILENT)
+ {
+ // Sounds were supressed
+ make_ui_sound("UISndWindowOpen");
+ }
+
mGroups->setVisible(true);
mPreview->setIcon(nullptr);
showPreview(true);