Fix possible crash in InnerDropdown hiding.

This commit is contained in:
John Preston 2020-06-08 11:57:05 +04:00
parent 05d1ee3796
commit dbcb6a35b0

View file

@ -247,15 +247,16 @@ void InnerDropdown::hideFinished() {
void InnerDropdown::prepareCache() {
if (_a_opacity.animating()) return;
const auto animating = _a_show.animating();
auto showAnimation = base::take(_a_show);
auto showAnimationData = base::take(_showAnimation);
showChildren();
_cache = GrabWidget(this);
_showAnimation = base::take(showAnimationData);
_a_show = base::take(showAnimation);
if (_a_show.animating()) {
if (animating) {
hideChildren();
}
_showAnimation = base::take(showAnimationData);
_a_show = base::take(showAnimation);
}
void InnerDropdown::startOpacityAnimation(bool hiding) {