Fix potential crash in QStyleAnimation::updateCurrentTime()
A parentless/targetless QStyleAnimation calls updateCurrentTime() from QAbstractAnimation constructor. Avoid the potential crash even if it's not a valid use case for QStyleAnimation. Change-Id: I9cd263d105c8ea4b5cbabac9a7680991745ccd95 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>bb10
parent
a98b943557
commit
9d86458d8c
|
|
@ -83,15 +83,17 @@ bool QStyleAnimation::isUpdateNeeded() const
|
|||
|
||||
void QStyleAnimation::updateCurrentTime(int)
|
||||
{
|
||||
if (target()->isWidgetType()) {
|
||||
QWidget *widget = static_cast<QWidget *>(target());
|
||||
if (!widget->isVisible() || widget->window()->isMinimized())
|
||||
stop();
|
||||
}
|
||||
if (QObject *tgt = target()) {
|
||||
if (tgt->isWidgetType()) {
|
||||
QWidget *widget = static_cast<QWidget *>(tgt);
|
||||
if (!widget->isVisible() || widget->window()->isMinimized())
|
||||
stop();
|
||||
}
|
||||
|
||||
if (isUpdateNeeded()) {
|
||||
QEvent event(QEvent::StyleAnimationUpdate);
|
||||
QCoreApplication::sendEvent(target(), &event);
|
||||
if (isUpdateNeeded()) {
|
||||
QEvent event(QEvent::StyleAnimationUpdate);
|
||||
QCoreApplication::sendEvent(tgt, &event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue