summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-02-23 17:01:24 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-02-25 14:16:44 +0000
commit33403f2c79d678afc5b76add2c517d99b9708c32 (patch)
tree796fb3e1607a14b9e9e7f00a2e35a326ec083ba6 /src/widgets
parent7bbde34ee012bbe90c4ce76736c6f71b16e64215 (diff)
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 <shawn.rutledge@digia.com>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/kernel/qapplication.cpp10
-rw-r--r--src/widgets/widgets/qabstractspinbox.cpp2
-rw-r--r--src/widgets/widgets/qlineedit.cpp2
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp2
4 files changed, 8 insertions, 8 deletions
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);