author | Tatiana Meshkova <tanya.meshkova@gmail.com> |
Wed, 19 Jun 2013 15:08:44 -0700 | |
changeset 135836 | b0d35883cc24010a3389efa92ff9a9bed32b7a19 |
parent 135835 | 72affddbc575bdca731b3a570a0f12ae38cfe2e8 |
child 135837 | b1252db21280e9bfb5f42043b3b03d22cd96d13e |
push id | 24852 |
push user | ryanvm@gmail.com |
push date | Thu, 20 Jun 2013 23:22:28 +0000 |
treeherder | mozilla-central@b3cbafd5eb99 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | romaxa, glandium |
bugs | 876043 |
milestone | 24.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/configure.in +++ b/configure.in @@ -4703,49 +4703,75 @@ dnl = QT support dnl ======================================================== if test "$MOZ_ENABLE_QT" then MOZ_ARG_WITH_STRING(qtdir, [ --with-qtdir=\$dir Specify Qt directory ], [ QTDIR=$withval]) if test -z "$QTDIR"; then - PKG_CHECK_MODULES(MOZ_QT, QtGui QtNetwork QtCore QtOpenGL) - PKG_CHECK_MODULES(MOZ_QT5, Qt5Widgets Qt5Multimedia Qt5PrintSupport, - MOZ_ENABLE_QT5=1, - MOZ_ENABLE_QT5=) - if test "$MOZ_ENABLE_QT5"; then - echo "Using qt5" - MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS $MOZ_QT5_CFLAGS" - MOZ_QT_LIBS="$MOZ_QT_LIBS $MOZ_QT5_LIBS" - fi + AC_CHECK_PROGS(HOST_QMAKE, $HOST_QMAKE qmake, "") + else + HOST_QMAKE="$QTDIR/bin/qmake" + fi + QT_VERSION=`$HOST_QMAKE -v | grep 'Using Qt version' | grep -oP '\d+\.\d+\.\d+'` + + if test -z "$QTDIR"; then + case $QT_VERSION in + 5.*) + AC_MSG_RESULT("Using qt5: $QT_VERSION") + PKG_CHECK_MODULES(MOZ_QT, Qt5Gui Qt5Network Qt5Core Qt5OpenGL Qt5Widgets Qt5PrintSupport, , + [ + AC_MSG_ERROR([$MOZ_QT_PKG_ERRORS Need qtbase development packages, (On Ubuntu, you might try installing the packages qtbase5-dev libqt5opengl5-dev.)]) + ]) + QT5INCDIR=`pkg-config --variable=includedir Qt5Gui` + MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QT5INCDIR/QtGui/$QT_VERSION/QtGui" + ;; + 4.*) + AC_MSG_RESULT("Using qt4: $QT_VERSION") + PKG_CHECK_MODULES(MOZ_QT, QtGui QtNetwork QtCore QtOpenGL, , + [ + AC_MSG_ERROR([$MOZ_QT_PKG_ERRORS Need qt4 development package, (On Ubuntu, you might try installing the packages libqt4-dev libqt4-opengl-dev.)]) + ]) + ;; + *) + AC_MSG_ERROR([* * * Unsupported Qt Version: $QT_VERSION]) + ;; + esac AC_CHECK_PROGS(HOST_MOC, $MOC moc, "") AC_CHECK_PROGS(HOST_RCC, $RCC rcc, "") else MOZ_QT_CFLAGS="-DQT_SHARED" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtGui" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtCore" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtNetwork" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtXml" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtDeclarative" - # QtWidgets was introduced only in Qt5 - if test -d $QTDIR/include/QtWidgets; then - echo "Using qt5" + case $QT_VERSION in + 5.*) + AC_MSG_RESULT("Using qt5: $QT_VERSION") MOZ_QT_LIBS="-L$QTDIR/lib/ -lQt5Gui -lQt5Network -lQt5Core -lQt5Xml -lQt5OpenGL" - MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtGui/5.0.1/QtGui" + MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtGui/$QT_VERSION/QtGui" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtWidgets" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtPrintSupport" MOZ_QT_LIBS="$MOZ_QT_LIBS -lQt5Widgets -lQt5PrintSupport" - else + ;; + 4.*) + AC_MSG_RESULT("Using qt4: $QT_VERSION") MOZ_QT_LIBS="-L$QTDIR/lib/ -lQtGui -lQtNetwork -lQtCore -lQtXml -lQtOpenGL" MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/Qt" - fi + ;; + *) + AC_MSG_ERROR([* * * Unsupported Qt Version: $QT_VERSION]) + ;; + esac + HOST_MOC="$QTDIR/bin/moc" HOST_RCC="$QTDIR/bin/rcc" fi if test -z "$HOST_MOC"; then AC_MSG_ERROR([No acceptable moc preprocessor found. Qt SDK is not installed or --with-qt is incorrect]) fi if test -z "$HOST_RCC"; then
--- a/gfx/thebes/gfxQtPlatform.cpp +++ b/gfx/thebes/gfxQtPlatform.cpp @@ -197,17 +197,17 @@ gfxQtPlatform::GetXScreen(QWidget* aWind #if (QT_VERSION < QT_VERSION_CHECK(5,0,0)) #ifdef Q_WS_X11 return ScreenOfDisplay(GetXDisplay(aWindow), aWindow ? aWindow->x11Info().screen() : QX11Info().screen()); #else return nullptr; #endif #else return ScreenOfDisplay(GetXDisplay(aWindow), - (int)qApp->platformNativeInterface()-> + (int)(intptr_t)qApp->platformNativeInterface()-> nativeResourceForWindow("screen", aWindow ? aWindow->windowHandle() : nullptr)); #endif } #endif already_AddRefed<gfxASurface> gfxQtPlatform::CreateOffscreenSurface(const gfxIntSize& size,
--- a/widget/qt/nsQtKeyUtils.cpp +++ b/widget/qt/nsQtKeyUtils.cpp @@ -362,17 +362,16 @@ QtKeyCodeToDOMKeyNameIndex(int aKeysym) case Qt::Key_Yacute: case Qt::Key_THORN: case Qt::Key_ssharp: case Qt::Key_division: case Qt::Key_ydiaeresis: return KEY_NAME_INDEX_PrintableKey; case Qt::Key_Backtab: - case Qt::Key_Print: case Qt::Key_Direction_L: case Qt::Key_Direction_R: case Qt::Key_SingleCandidate: case Qt::Key_Hiragana_Katakana: case Qt::Key_Zenkaku_Hankaku: case Qt::Key_Touroku: case Qt::Key_Massyo: case Qt::Key_Hangul:
--- a/widget/qt/nsWindow.cpp +++ b/widget/qt/nsWindow.cpp @@ -3259,20 +3259,20 @@ nsWindow::SetInputContext(const InputCon } NS_IMETHODIMP_(InputContext) nsWindow::GetInputContext() { mInputContext.mIMEState.mOpen = IMEState::OPEN_STATE_NOT_SUPPORTED; // Our qt widget looks like using only one context per process. // However, it's better to set the context's pointer. -#if (QT_VERSION <= QT_VERSION_CHECK(5, 0, 0)) +#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) mInputContext.mNativeIMEContext = qApp->inputContext(); #else - mInputContext.mNativeIMEContext = nullptr; + mInputContext.mNativeIMEContext = qApp->inputMethod(); #endif return mInputContext; } void nsWindow::SetSoftwareKeyboardState(bool aOpen, const InputContextAction& aAction) {