diff --git a/js/src/builtin/Intl.js b/js/src/builtin/Intl.js index 9f9190625..a44bafec9 100644 --- a/js/src/builtin/Intl.js +++ b/js/src/builtin/Intl.js @@ -1925,6 +1925,7 @@ var currencyDigits = { TND: 3, UGX: 0, UYI: 0, + UYW: 4, VND: 0, VUV: 0, XAF: 0, diff --git a/layout/forms/nsComboboxControlFrame.cpp b/layout/forms/nsComboboxControlFrame.cpp index bb3f2778e..37bcbb662 100644 --- a/layout/forms/nsComboboxControlFrame.cpp +++ b/layout/forms/nsComboboxControlFrame.cpp @@ -1035,6 +1035,10 @@ nsComboboxControlFrame::HandleRedisplayTextEvent() mRedisplayTextEvent.Forget(); ActuallyDisplayText(true); + if (!weakThis.IsAlive()) { + return; + } + // XXXbz This should perhaps be eResize. Check. PresContext()->PresShell()->FrameNeedsReflow(mDisplayFrame, nsIPresShell::eStyleChange, @@ -1046,13 +1050,14 @@ nsComboboxControlFrame::HandleRedisplayTextEvent() void nsComboboxControlFrame::ActuallyDisplayText(bool aNotify) { + nsCOMPtr displayContent = mDisplayContent; if (mDisplayedOptionText.IsEmpty()) { // Have to use a non-breaking space for line-block-size calculations // to be right static const char16_t space = 0xA0; - mDisplayContent->SetText(&space, 1, aNotify); + displayContent->SetText(&space, 1, aNotify); } else { - mDisplayContent->SetText(mDisplayedOptionText, aNotify); + displayContent->SetText(mDisplayedOptionText, aNotify); } }