diff --git a/doc/contributions.txt b/doc/contributions.txt
index 8e5d4e831db48b4cd568fd2373bc4d89f1c504b0..4a7b8f14dda1ade2f570d017a6961ece98d2ccab 100755
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -237,6 +237,7 @@ Ansariel Hiller
 	SL-15227
 	SL-15398
 	SL-18432
+	SL-19575
 	SL-19623
 Aralara Rajal
 Arare Chantilly
diff --git a/indra/llui/llemojidictionary.h b/indra/llui/llemojidictionary.h
index cbb0ac577da98308f5aee1c057dfd33d00606d4b..88ff5b83005af1ffea7b9e0b19c4ae62f95b8a8b 100644
--- a/indra/llui/llemojidictionary.h
+++ b/indra/llui/llemojidictionary.h
@@ -57,8 +57,11 @@ class LLEmojiDictionary : public LLParamSingleton<LLEmojiDictionary>, public LLI
 
 public:
 	typedef std::map<llwchar, const LLEmojiDescriptor*> emoji2descr_map_t;
+	typedef std::pair<llwchar, const LLEmojiDescriptor*> emoji2descr_item_t;
 	typedef std::map<std::string, const LLEmojiDescriptor*> code2descr_map_t;
+	typedef std::pair<std::string, const LLEmojiDescriptor*> code2descr_item_t;
 	typedef std::map<std::string, std::vector<const LLEmojiDescriptor*>> cat2descrs_map_t;
+	typedef std::pair<std::string, std::vector<const LLEmojiDescriptor*>> cat2descrs_item_t;
 
 	static void initClass();
 	LLWString   findMatchingEmojis(const std::string& needle) const;
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index bec45df78a9db2589984d300713df9b611084913..0add3839bb3d0e121e62697b0185e401f9c1e3a1 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -111,7 +111,7 @@ class LLView
 		Alternative<std::string>	string;
 		Alternative<U32>			flags;
 
-        Follows();
+		Follows();
 	};
 
 	struct Params : public LLInitParam::Block<Params>
@@ -656,8 +656,8 @@ class LLView
 	// Draw debug rectangles around widgets to help with alignment and spacing
 	static bool	sDebugRects;
 
-    static bool sIsRectDirty;
-    static LLRect sDirtyRect;
+	static bool sIsRectDirty;
+	static LLRect sDirtyRect;
 
 	// Draw widget names and sizes when drawing debug rectangles, turning this
 	// off is useful to make the rectangles themselves easier to see.
@@ -700,20 +700,16 @@ template <class T> T* LLView::getChild(const std::string& name, BOOL recurse) co
 		if (!result)
 		{
 			result = LLUICtrlFactory::getDefaultWidget<T>(name);
-
-			if (result)
-			{
-				// *NOTE: You cannot call mFoo = getChild<LLFoo>("bar")
-				// in a floater or panel constructor.  The widgets will not
-				// be ready.  Instead, put it in postBuild().
-				LL_WARNS() << "Making dummy " << typeid(T).name() << " named \"" << name << "\" in " << getName() << LL_ENDL;
-			}
-			else
+			if (!result)
 			{
-				LL_WARNS() << "Failed to create dummy " << typeid(T).name() << LL_ENDL;
-				return NULL;
+				LL_ERRS() << "Failed to create dummy " << typeid(T).name() << LL_ENDL;
 			}
 
+			// *NOTE: You cannot call mFoo = getChild<LLFoo>("bar")
+			// in a floater or panel constructor.  The widgets will not
+			// be ready.  Instead, put it in postBuild().
+			LL_WARNS() << "Making dummy " << typeid(T).name() << " named \"" << name << "\" in " << getName() << LL_ENDL;
+
 			getDefaultWidgetContainer().addChild(result);
 		}
 	}
diff --git a/indra/newview/llfloateremojipicker.cpp b/indra/newview/llfloateremojipicker.cpp
index ab81b2936f8367dd636d10ad948e322bf83cfaad..9d28f7d4dc79e7dfcd9f775b5eddc78c6c8ba965 100644
--- a/indra/newview/llfloateremojipicker.cpp
+++ b/indra/newview/llfloateremojipicker.cpp
@@ -73,15 +73,14 @@ LLFloaterEmojiPicker* LLFloaterEmojiPicker::getInstance()
 {
 	LLFloaterEmojiPicker* floater = LLFloaterReg::getTypedInstance<LLFloaterEmojiPicker>("emoji_picker");
 	if (!floater)
-		LL_WARNS() << "Cannot instantiate emoji picker" << LL_ENDL;
+		LL_ERRS() << "Cannot instantiate emoji picker" << LL_ENDL;
 	return floater;
 }
 
 LLFloaterEmojiPicker* LLFloaterEmojiPicker::showInstance(pick_callback_t pick_callback, close_callback_t close_callback)
 {
 	LLFloaterEmojiPicker* floater = getInstance();
-	if (floater)
-		floater->show(pick_callback, close_callback);
+	floater->show(pick_callback, close_callback);
 	return floater;
 }
 
@@ -106,9 +105,9 @@ BOOL LLFloaterEmojiPicker::postBuild()
 
 	mCategory = getChild<LLComboBox>("Category");
 	mCategory->setCommitCallback(boost::bind(&LLFloaterEmojiPicker::onCategoryCommit, this));
-	const auto& cat2Descrs = LLEmojiDictionary::instance().getCategory2Descrs();
+	const LLEmojiDictionary::cat2descrs_map_t& cat2Descrs = LLEmojiDictionary::instance().getCategory2Descrs();
 	mCategory->clearRows();
-	for (const auto& item : cat2Descrs)
+	for (const LLEmojiDictionary::cat2descrs_item_t& item : cat2Descrs)
 	{
 		std::string value = item.first;
 		std::string name = value;
@@ -139,8 +138,8 @@ void LLFloaterEmojiPicker::fillEmojis()
 {
 	mEmojis->clearRows();
 
-	const auto& emoji2Descr = LLEmojiDictionary::instance().getEmoji2Descr();
-	for (const std::pair<const llwchar, const LLEmojiDescriptor*>& it : emoji2Descr)
+	const LLEmojiDictionary::emoji2descr_map_t& emoji2Descr = LLEmojiDictionary::instance().getEmoji2Descr();
+	for (const LLEmojiDictionary::emoji2descr_item_t& it : emoji2Descr)
 	{
 		const LLEmojiDescriptor* descr = it.second;
 
@@ -179,10 +178,10 @@ bool LLFloaterEmojiPicker::matchesPattern(const LLEmojiDescriptor* descr)
 {
 	if (descr->Name.find(mSearchPattern) != std::string::npos)
 		return true;
-	for (auto shortCode : descr->ShortCodes)
+	for (const std::string& shortCode : descr->ShortCodes)
 		if (shortCode.find(mSearchPattern) != std::string::npos)
 			return true;
-	for (auto category : descr->Categories)
+	for (const std::string& category : descr->Categories)
 		if (category.find(mSearchPattern) != std::string::npos)
 			return true;
 	return false;
@@ -204,7 +203,7 @@ void LLFloaterEmojiPicker::onSearchKeystroke(LLLineEditor* caller, void* user_da
 
 void LLFloaterEmojiPicker::onPreviewEmojiClick()
 {
-	if (mEmojis && mEmojiPickCallback)
+	if (mEmojiPickCallback)
 	{
 		if (LLEmojiScrollListItem* item = dynamic_cast<LLEmojiScrollListItem*>(mEmojis->getFirstSelected()))
 		{
@@ -221,8 +220,7 @@ void LLFloaterEmojiPicker::onEmojiSelect()
 		mSelectedEmojiIndex = mEmojis->getFirstSelectedIndex();
 		LLUIString text;
 		text.insert(0, LLWString(1, item->getEmoji()));
-		if (mPreviewEmoji)
-			mPreviewEmoji->setLabel(text);
+		mPreviewEmoji->setLabel(text);
 		return;
 	}
 
@@ -232,13 +230,12 @@ void LLFloaterEmojiPicker::onEmojiSelect()
 void LLFloaterEmojiPicker::onEmojiEmpty()
 {
 	mSelectedEmojiIndex = 0;
-	if (mPreviewEmoji)
-		mPreviewEmoji->setLabel(LLUIString());
+	mPreviewEmoji->setLabel(LLUIString());
 }
 
 void LLFloaterEmojiPicker::onEmojiPick()
 {
-	if (mEmojis && mEmojiPickCallback)
+	if (mEmojiPickCallback)
 	{
 		if (LLEmojiScrollListItem* item = dynamic_cast<LLEmojiScrollListItem*>(mEmojis->getFirstSelected()))
 		{
diff --git a/indra/newview/skins/default/xui/en/floater_emoji_picker.xml b/indra/newview/skins/default/xui/en/floater_emoji_picker.xml
index f339c7428f97c57f2469bdd1e44f3dac0d607095..000d7797594c9e57d1bf3d853187357a330cc0b2 100644
--- a/indra/newview/skins/default/xui/en/floater_emoji_picker.xml
+++ b/indra/newview/skins/default/xui/en/floater_emoji_picker.xml
@@ -11,44 +11,44 @@
     width="200">
   <line_editor
       name="Search"
-      label="Type to search an emoji"
+      label="Type to search"
       layout="bottomleft"
       follows="bottom|left|right"
       text_tentative_color="TextFgTentativeColor"
       max_length_bytes="63"
-	  bottom="5"
-	  left="39"
+      bottom="14"
+      left="34"
       height="29"
-      width="158" />
+      width="162" />
   <button
-	  name="PreviewEmoji"
+      name="PreviewEmoji"
       layout="bottomleft"
       follows="bottom|left"
-	  font="EmojiHuge"
-	  use_font_color="true"
-	  bottom="5"
-	  left="5"
-	  height="29"
-	  width="29" />
+      font="EmojiHuge"
+      use_font_color="true"
+      bottom="14"
+      left="2"
+      height="29"
+      width="29" />
   <scroll_list
       name="Emojis"
       layout="topleft"
       follows="all"
       sort_column="0"
-	  max_chars="63"
-	  commit_on_selection_change="true"
+      max_chars="63"
+      commit_on_selection_change="true"
       draw_heading="true"
       heading_height="25"
-	  left="5"
-	  row_padding="0"
-	  top="25"
-	  height="338"
-	  width="192">
+      row_padding="0"
+      top="25"
+      left="0"
+      height="330"
+      width="200">
     <columns
-        label="Look"
+        label="@"
         name="look"
-        width="50" />
-	<columns
+        width="16" />
+    <columns
         label="Name"
         name="name" />
   </scroll_list>
@@ -57,9 +57,9 @@
       label="Choose a category"
       layout="topleft"
       follows="top|left|right"
-	  allow_text_entry="true"
-	  top="0"
-	  left="5"
+      allow_text_entry="true"
+      top="0"
+      left="2"
       height="25"
-      width="192" />
+      width="196" />
 </floater>