Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
4.6.2
-
None
-
Linux Ubuntu 9.10, Qt 4.6.2 and UiEmo master
-
3a5f473a16b3bc64e6793a9a5002d961a2a0762a
Description
I have QParallelAnimationGroup and 4 animation inside it. I create those animation always again if ui layout or size change. So these events QEvent::LayoutDirectionChange and QEvent::Resize.
I take animation one by one from animationGroup and then delete them, because I got ownership. When last items LayoutDirectionChange event comes Animation FW crash to disconnecting signal.
Crash happens everytime if the first resize window and then change layout direction.
Pseudo code:
void Class::eventFilter(QObject *o, QEvent *e)
{
case QEvent::LayoutDirectionChange:
case QEvent::Resize:
for(...)
Crash happens here.
void QParallelAnimationGroupPrivate::disconnectUncontrolledAnimations()
{
Q_Q(QParallelAnimationGroup);
QHash<QAbstractAnimation *, int>::iterator it = uncontrolledFinishTime.begin();
while (it != uncontrolledFinishTime.end())
uncontrolledFinishTime.clear();
}