From 33403f2c79d678afc5b76add2c517d99b9708c32 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 23 Feb 2015 17:01:24 +0100 Subject: Fix crash when accessing QStyleHints before QGuiApplication is constructed. Make styleHints a static member variable of QGuiApplicationPrivate and fix accessor accordingly. Extend tst_QApplication::settableStyleHints() to run without QApplication instance as well and add a similar test to QGuiApplication. Task-number: QTBUG-44499 Change-Id: I42b92ef38f7dd512d08d70accfa7dd4f09a22f01 Reviewed-by: Shawn Rutledge --- src/widgets/kernel/qapplication.cpp | 10 +++++----- src/widgets/widgets/qabstractspinbox.cpp | 2 +- src/widgets/widgets/qlineedit.cpp | 2 +- src/widgets/widgets/qwidgettextcontrol.cpp | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index ad51dc5055..e761520228 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -2892,7 +2892,7 @@ void QApplication::setStartDragTime(int ms) int QApplication::startDragTime() { - return qApp->styleHints()->startDragTime(); + return QGuiApplication::styleHints()->startDragTime(); } /* @@ -2930,7 +2930,7 @@ void QApplication::setStartDragDistance(int l) int QApplication::startDragDistance() { - return qApp->styleHints()->startDragDistance(); + return QGuiApplication::styleHints()->startDragDistance(); } /*! @@ -3973,7 +3973,7 @@ void QApplication::setCursorFlashTime(int msecs) int QApplication::cursorFlashTime() { - return qApp->styleHints()->cursorFlashTime(); + return QGuiApplication::styleHints()->cursorFlashTime(); } /*! @@ -3991,7 +3991,7 @@ void QApplication::setDoubleClickInterval(int ms) int QApplication::doubleClickInterval() { - return qApp->styleHints()->mouseDoubleClickInterval(); + return QGuiApplication::styleHints()->mouseDoubleClickInterval(); } /*! @@ -4019,7 +4019,7 @@ void QApplication::setKeyboardInputInterval(int ms) int QApplication::keyboardInputInterval() { - return qApp->styleHints()->keyboardInputInterval(); + return QGuiApplication::styleHints()->keyboardInputInterval(); } /*! diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index eea63e5864..2f833499d9 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -1181,7 +1181,7 @@ void QAbstractSpinBox::timerEvent(QTimerEvent *event) killTimer(d->spinClickThresholdTimerId); d->spinClickThresholdTimerId = -1; d->effectiveSpinRepeatRate = d->buttonState & Keyboard - ? qApp->styleHints()->keyboardAutoRepeatRate() + ? QGuiApplication::styleHints()->keyboardAutoRepeatRate() : d->spinClickTimerInterval; d->spinClickTimerId = startTimer(d->effectiveSpinRepeatRate); doStep = true; diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index f115ce3079..0500907b3d 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -2153,7 +2153,7 @@ QMenu *QLineEdit::createStandardContextMenu() d->selectAllAction = action; connect(action, SIGNAL(triggered()), SLOT(selectAll())); - if (!d->control->isReadOnly() && qApp->styleHints()->useRtlExtensions()) { + if (!d->control->isReadOnly() && QGuiApplication::styleHints()->useRtlExtensions()) { popup->addSeparator(); QUnicodeControlCharacterMenu *ctrlCharacterMenu = new QUnicodeControlCharacterMenu(this, popup); popup->addMenu(ctrlCharacterMenu); diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index b0325893a4..faa63cb400 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -2281,7 +2281,7 @@ QMenu *QWidgetTextControl::createStandardContextMenu(const QPointF &pos, QWidget a->setObjectName(QStringLiteral("select-all")); } - if ((d->interactionFlags & Qt::TextEditable) && qApp->styleHints()->useRtlExtensions()) { + if ((d->interactionFlags & Qt::TextEditable) && QGuiApplication::styleHints()->useRtlExtensions()) { menu->addSeparator(); QUnicodeControlCharacterMenu *ctrlCharacterMenu = new QUnicodeControlCharacterMenu(this, menu); menu->addMenu(ctrlCharacterMenu); -- cgit v1.2.3