Bug #5265

A WMessageBox with Fade animation can fail to hide when dismissed while animating-in.

Added by Bruce Toll over 6 years ago. Updated over 6 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


With github Wt 3.3.6-6-gbadb151, dismissing a WMessageBox with Fade animation while it is animating-in can leave the WMessageBox visible, although the server API reports it as hidden. The WMessageBox continues to receive client signals while in this state. The issue can be demonstrated with the attached test program which employs a prolonged animation.

Attached are two lightly tested patches for your review:

  • The first patch addresses a problem where Wt waits for transitionend (rather than an animationend) after finding an animation-in is still in progress.
  • The second patch ignores events that occur for an element while that element (or one of its ancestors) is animating.

The animation issue probably affects WDialogs and other WPopupWidgets, but these were not tested.

The patch files contain additional notes.



Updated by Bruce Toll over 6 years ago

As a follow-up, I realized that I hadn't given much consideration to the case where multiple animations are combined (first attached patch). I tested the patch briefly with the Wt dialog example (which combines Fade with other animations) and did not observe any problems. However, it might be safer to limit the patch to just handle the requeueing of doAnimateDisplay. I'll submit an updated patch....


Updated by Bruce Toll over 6 years ago

I've attached an update for the first patch that is more limited in scope, as described above.

Off-topic: I had an opportunity to try setScrollVisibilityEnabled in a project. It was easy to integrate and worked very well. Great feature!

Also available in: Atom PDF