CHUI-545: Problem: Sometimes the speaker indicator icons were not visible in the conversations panel. Resolution: The problem was that the visibility was set incorrectly. When the speaking indicator was not in the visible chain the state of the visiblity would be stored in a pending variable. If the visiblity changed before the pending variable was used, then this meant the pending variable overrode the most recent visibiltiy changes. So as a solution, if the visiblity changes then prevent the pending visiblity from being used.

meow-7.2.2
Gilbert Gonzales 2012-12-11 17:49:43 -08:00
parent 08a7f4193b
commit 34558181c7
1 changed files with 3 additions and 1 deletions

View File

@ -333,7 +333,9 @@ void LLOutputMonitorCtrl::switchIndicator(bool switch_on)
LL_DEBUGS("SpeakingIndicator") << "Indicator is in visible chain, notifying parent: " << mSpeakerId << LL_ENDL;
setVisible((BOOL)switch_on);
notifyParentVisibilityChanged();
}
//Visibility has just been updated so make sure not to use the pending visibility when ::draw executes (if one is pending)
mIsSwitchDirty = false;
}
// otherwise remember necessary state and mark itself as dirty.
// State will be applied in next draw when parents chain becomes visible.