From 50d301cfdd30f13d96b95a038d618407d6c71b30 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 3 Apr 2018 11:52:41 +0200 Subject: Hide global qtlogging.ini from autotest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Do not let a global qtlogging.ini interfere with an autotest. This works around an issue on Ubuntu 17.10 Task-number: QTBUG-67385 Change-Id: I0d02835eb7a561b43fe0b98f4383c170c6d51303 Reviewed-by: Thiago Macieira Reviewed-by: Joni Jäntti --- tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp | 1 + tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp b/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp index 571288675e..11a9b3f189 100644 --- a/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp +++ b/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp @@ -203,6 +203,7 @@ private: private slots: void initTestCase() { + qputenv("XDG_CONFIG_DIRS", "/does/not/exist"); qputenv("QT_MESSAGE_PATTERN", QByteArray("%{category}: %{type},%{message}")); oldMessageHandler = qInstallMessageHandler(myCustomMessageHandler); // Create configuration diff --git a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp index a74ea3a89e..5b61a6007d 100644 --- a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp +++ b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp @@ -50,6 +50,7 @@ private slots: { // ensure a clean environment QStandardPaths::setTestModeEnabled(true); + qputenv("XDG_CONFIG_DIRS", "/does/not/exist"); qunsetenv("QT_LOGGING_CONF"); qunsetenv("QT_LOGGING_RULES"); } -- cgit v1.2.3 From 18a1cfaba3625b41643d9c03ddc304d2d377b590 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 4 Apr 2018 08:38:17 +0200 Subject: Doc: Add missing punctuation in qCritical, qFatal documentation Change-Id: If4175502f81e569f031d97da6cc7f5d46428442a Reviewed-by: Leena Miettinen --- src/corelib/global/qglobal.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 2d8b860c5b..b75b218201 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -4439,7 +4439,7 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters) Calls the message handler with the critical message \a message. If no message handler has been installed, the message is printed to stderr. Under Windows, the message is sent to the debugger. - On QNX the message is sent to slogger2 + On QNX the message is sent to slogger2. It exits if the environment variable QT_FATAL_CRITICALS is not empty. @@ -4472,7 +4472,7 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters) Calls the message handler with the fatal message \a message. If no message handler has been installed, the message is printed to stderr. Under Windows, the message is sent to the debugger. - On QNX the message is sent to slogger2 + On QNX the message is sent to slogger2. If you are using the \b{default message handler} this function will abort to create a core dump. On Windows, for debug builds, -- cgit v1.2.3 From c067083057274a6736836125952351d8b467924e Mon Sep 17 00:00:00 2001 From: Harald Brinkmann Date: Tue, 27 Mar 2018 09:45:03 +0200 Subject: Fix memory corruption in heightForWidth cache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Overflowing q_firstCachedHfw caused memory to be overwritten before q_cachedHfws. Change-Id: Ibbcc72380f426550cc0569a05c54cd1acd878b33 Reviewed-by: Jan Arve Sæther --- src/widgets/kernel/qlayoutitem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/kernel/qlayoutitem.cpp b/src/widgets/kernel/qlayoutitem.cpp index 5c4fc20687..52640daf55 100644 --- a/src/widgets/kernel/qlayoutitem.cpp +++ b/src/widgets/kernel/qlayoutitem.cpp @@ -839,7 +839,7 @@ int QWidgetItemV2::heightForWidth(int width) const const QSize &size = q_cachedHfws[offset % HfwCacheMaxSize]; if (size.width() == width) { if (q_hfwCacheSize == HfwCacheMaxSize) - q_firstCachedHfw = offset; + q_firstCachedHfw = offset % HfwCacheMaxSize; return size.height(); } } -- cgit v1.2.3 From f2fd5f390ce8f93778d755112d0f892758d243e2 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 4 Apr 2018 10:44:20 +0200 Subject: tst_QCursor::equality(): Silence warnings Silence numerous warnings: QCursor: Cannot create bitmap cursor; invalid bitmap(s) Amends 6445aa4b064931cda36243aafc1600915fac093e. Change-Id: I7b467cdeeaa7a854c2878cf1ed2a6113d8c96059 Reviewed-by: Gabriel de Dietrich --- tests/auto/gui/kernel/qcursor/tst_qcursor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/gui/kernel/qcursor/tst_qcursor.cpp b/tests/auto/gui/kernel/qcursor/tst_qcursor.cpp index d505f5a655..eb33cce95b 100644 --- a/tests/auto/gui/kernel/qcursor/tst_qcursor.cpp +++ b/tests/auto/gui/kernel/qcursor/tst_qcursor.cpp @@ -93,6 +93,9 @@ void tst_QCursor::equality() VERIFY_DIFFERENT(bitmapCursor, pixmapCursor); // Empty pixmap + for (int i = 0; i < 18; ++i) + QTest::ignoreMessage(QtWarningMsg, "QCursor: Cannot create bitmap cursor; invalid bitmap(s)"); + QPixmap emptyPixmap; QCursor emptyPixmapCursor(emptyPixmap); QCOMPARE(emptyPixmapCursor.shape(), Qt::ArrowCursor); -- cgit v1.2.3 From 2823cc6d4b24b26f82c991c532b749baa9dbb3a7 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 4 Apr 2018 10:23:02 +0200 Subject: Windows QPA: Fix override cursor not working when re-entering the window Return early from QWindowsWindow::applyCursor() when an override cursor is set. Task-number: QTBUG-67467 Change-Id: I0d3ceead8bbbd3c6295c216a944a1ef15b6f8190 Reviewed-by: Oliver Wolff --- src/plugins/platforms/windows/qwindowscursor.h | 1 + src/plugins/platforms/windows/qwindowswindow.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/plugins/platforms/windows/qwindowscursor.h b/src/plugins/platforms/windows/qwindowscursor.h index 4772f3fce5..53f185358b 100644 --- a/src/plugins/platforms/windows/qwindowscursor.h +++ b/src/plugins/platforms/windows/qwindowscursor.h @@ -107,6 +107,7 @@ public: void changeCursor(QCursor * widgetCursor, QWindow * widget) override; void setOverrideCursor(const QCursor &cursor) override; void clearOverrideCursor() override; + bool hasOverrideCursor() const { return m_overriddenCursor != nullptr; } QPoint pos() const override; void setPos(const QPoint &pos) override; diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index 9872b6b4e0..f1762146ec 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -2410,6 +2410,8 @@ static inline bool applyNewCursor(const QWindow *w) void QWindowsWindow::applyCursor() { + if (static_cast(screen()->cursor())->hasOverrideCursor()) + return; #ifndef QT_NO_CURSOR if (m_cursor->isNull()) { // Recurse up to parent with non-null cursor. Set default for toplevel. if (const QWindow *p = window()->parent()) { -- cgit v1.2.3 From a14bfea50058f58f23d7864b8ab90bd92b9364d8 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Thu, 5 Apr 2018 15:11:43 +0200 Subject: Improve QAbstractSpinBox::stepBy() docs Change-Id: I28e942b6b2952205641c751e4c120cb38ae13fd6 Reviewed-by: J-P Nurmi --- src/widgets/widgets/qabstractspinbox.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 7ca47e9f0f..e059f2d52f 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -611,12 +611,11 @@ void QAbstractSpinBox::stepDown() } /*! Virtual function that is called whenever the user triggers a step. - The \a steps parameter indicates how many steps were taken, e.g. - Pressing Qt::Key_Down will trigger a call to stepBy(-1), - whereas pressing Qt::Key_Prior will trigger a call to - stepBy(10). + The \a steps parameter indicates how many steps were taken. + For example, pressing \c Qt::Key_Down will trigger a call to \c stepBy(-1), + whereas pressing \c Qt::Key_PageUp will trigger a call to \c stepBy(10). - If you subclass QAbstractSpinBox you must reimplement this + If you subclass \c QAbstractSpinBox you must reimplement this function. Note that this function is called even if the resulting value will be outside the bounds of minimum and maximum. It's this function's job to handle these situations. -- cgit v1.2.3 From f1fc449016333525aef5bde51c2de666f2da1790 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Mon, 2 Apr 2018 19:50:27 +0100 Subject: Support graphics reset status for offscreen surfaces in XCB-GLX I originally didn't to match the ANGLE code, however it's important for all surfaces to be able to know to reset if their makeContext fails. This is espcially relevant on some Linux nvidia drivers which has a bug where while(glGetError()) won't ever clear whilst a reset is in progress. Change-Id: Iae3502168cda748c601a9aee1497e40c6d82cd83 Reviewed-by: Laszlo Agocs --- .../platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp index 86ca7afa12..6a663712b8 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp @@ -539,6 +539,7 @@ bool QGLXContext::makeCurrent(QPlatformSurface *surface) m_lost = false; if (m_getGraphicsResetStatus && m_getGraphicsResetStatus() != GL_NO_ERROR) { m_lost = true; + success = false; // Drop the surface. Will recreate on the next makeCurrent. window->invalidateSurface(); } @@ -547,6 +548,11 @@ bool QGLXContext::makeCurrent(QPlatformSurface *surface) QGLXPbuffer *pbuffer = static_cast(surface); glxDrawable = pbuffer->pbuffer(); success = glXMakeContextCurrent(m_display, glxDrawable, glxDrawable, m_context); + m_lost = false; + if (m_getGraphicsResetStatus && m_getGraphicsResetStatus() != GL_NO_ERROR) { + m_lost = true; + success = false; + } } if (success && surfaceClass == QSurface::Window) { -- cgit v1.2.3 From 3c8181de7006cab3c2d736dfb4adabe9b2ffaf4e Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Fri, 23 Mar 2018 19:00:30 +0100 Subject: Kludge QLocale test order to fix fall-out from setDefault() This makes an irreversible global change: tests that do it will mess with other tests. So make sure they're all last. This required splitting up one test; and revealed another that secretly depended on being run with C as default locale. Task-number: QTBUG-67276 Change-Id: Ic24ef48b2c9bd5c37c1f11260b437628019624ca Reviewed-by: Kari Oikarinen --- tests/auto/corelib/tools/qlocale/tst_qlocale.cpp | 38 +++++++++++++++++------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp index d5e2935d28..c6c16a5982 100644 --- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp @@ -79,9 +79,7 @@ private slots: void ctor(); void emptyCtor(); - void legacyNames(); void consistentC(); - void unixLocaleName(); void matchingLocales(); void stringToDouble_data(); void stringToDouble(); @@ -108,8 +106,6 @@ private slots: void toDateTime(); void negativeNumbers(); void numberOptions(); - void testNames_data(); - void testNames(); void dayName_data(); void dayName(); void standaloneDayName_data(); @@ -143,6 +139,15 @@ private slots: void systemLocale(); + // *** ORDER-DEPENDENCY *** (This Is Bad.) + // Test order is determined by order of declaration here: *all* tests that + // QLocale::setDefault() *must* appear *after* all other tests ! + void defaulted_ctor(); // This one must be the first of these. + void legacyNames(); + void unixLocaleName(); + void testNames_data(); + void testNames(); + // DO NOT add tests here unless they QLocale::setDefault(); see above. private: QString m_decimal, m_thousand, m_sdate, m_ldate, m_time; QString m_sysapp; @@ -232,6 +237,23 @@ void tst_QLocale::ctor() TEST_CTOR(Chinese, LatinScript, UnitedStates, QLocale::Chinese, QLocale::SimplifiedHanScript, QLocale::China); #undef TEST_CTOR +} + +void tst_QLocale::defaulted_ctor() +{ + QLocale default_locale = QLocale::system(); + QLocale::Language default_lang = default_locale.language(); + QLocale::Country default_country = default_locale.country(); + + qDebug("Default: %s/%s", QLocale::languageToString(default_lang).toLatin1().constData(), + QLocale::countryToString(default_country).toLatin1().constData()); + + { + QLocale l(QLocale::C, QLocale::AnyCountry); + QCOMPARE(l.language(), QLocale::C); + QCOMPARE(l.country(), QLocale::AnyCountry); + } + #define TEST_CTOR(req_lang, req_country, exp_lang, exp_country) \ { \ QLocale l(QLocale::req_lang, QLocale::req_country); \ @@ -239,11 +261,6 @@ void tst_QLocale::ctor() QCOMPARE((int)l.country(), (int)exp_country); \ } - { - QLocale l(QLocale::C, QLocale::AnyCountry); - QCOMPARE(l.language(), QLocale::C); - QCOMPARE(l.country(), QLocale::AnyCountry); - } TEST_CTOR(AnyLanguage, AnyCountry, default_lang, default_country) TEST_CTOR(C, AnyCountry, QLocale::C, QLocale::AnyCountry) TEST_CTOR(Aymara, AnyCountry, default_lang, default_country) @@ -1961,10 +1978,11 @@ void tst_QLocale::testNames_data() QTest::addColumn("language"); QTest::addColumn("country"); + QLocale::setDefault(QLocale(QLocale::C)); // Ensures predictable fall-backs + for (int i = 0; i < locale_data_count; ++i) { const QLocaleData &item = locale_data[i]; - const QString testName = QLatin1String("data_") + QString::number(i) + QLatin1String(" (") + QLocale::languageToString((QLocale::Language)item.m_language_id) + QLatin1Char('/') + QLocale::countryToString((QLocale::Country)item.m_country_id) -- cgit v1.2.3 From 1c463000ed7427ef6b311b5ae30b91b0570754d1 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Thu, 5 Apr 2018 13:05:05 +0200 Subject: HTTP/2 - treat HEADERS frames as valid for streams in 'open' state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, I erroneously expected HEADERS frame only on a stream, which is in half-closed (local) or reserved (remote) state. But 'open' state is also valid (RFC7540, 6.2). For example, we start uploading some data, we have sent HEADERS frame and now are sending DATA frames, without END_STREAM flag set yet; this stream is in 'open' state. If a server wants to reply with some error status code or redirect - it does not have to wait for our END_STREAM flag, reading all this data that will be discarded anyway. Task-number: QTBUG-67469 Change-Id: I53e3a5e9b2ab7f7917ae083ba44e862a227db238 Reviewed-by: Mårten Nordheim Reviewed-by: Edward Welbourne --- src/network/access/qhttp2protocolhandler.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp index 0cdcee6b59..5420e713b5 100644 --- a/src/network/access/qhttp2protocolhandler.cpp +++ b/src/network/access/qhttp2protocolhandler.cpp @@ -917,10 +917,11 @@ void QHttp2ProtocolHandler::handleContinuedHEADERS() if (activeStreams.contains(streamID)) { Stream &stream = activeStreams[streamID]; if (stream.state != Stream::halfClosedLocal - && stream.state != Stream::remoteReserved) { + && stream.state != Stream::remoteReserved + && stream.state != Stream::open) { // We can receive HEADERS on streams initiated by our requests - // (these streams are in halfClosedLocal state) or remote-reserved - // streams from a server's PUSH_PROMISE. + // (these streams are in halfClosedLocal or open state) or + // remote-reserved streams from a server's PUSH_PROMISE. finishStreamWithError(stream, QNetworkReply::ProtocolFailure, QLatin1String("HEADERS on invalid stream")); sendRST_STREAM(streamID, CANCEL); -- cgit v1.2.3 From 63a433f6c855684f2b3a25fdd7cbbfdacf1954e1 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Wed, 4 Apr 2018 18:31:55 +0100 Subject: Make nvidia resets opt-in based on QSurfaceFormat::ResetNotification We can't be sure every user will check the return value from makeCurrent and reset appropriately. Even though after a reset a user will be left with the same garbage as before, it's safer than a potential infinite loop. Change-Id: I5b328c654ad2a89c5b8c4399e2eb38150f4f384b Reviewed-by: Laszlo Agocs --- src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp index 6a663712b8..d37eb572a6 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp @@ -302,7 +302,7 @@ void QGLXContext::init(QXcbScreen *screen, QPlatformOpenGLContext *share) contextAttributes << GLX_CONTEXT_PROFILE_MASK_ARB << GLX_CONTEXT_ES2_PROFILE_BIT_EXT; } - if (supportsRobustness && supportsVideoMemoryPurge) { + if (supportsRobustness && supportsVideoMemoryPurge && m_format.testOption(QSurfaceFormat::ResetNotification)) { QVector contextAttributesWithNvidiaReset = contextAttributes; contextAttributesWithNvidiaReset << GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB << GLX_LOSE_CONTEXT_ON_RESET_ARB; -- cgit v1.2.3 From cff91429424c0b10c1bd562f2f9699ef2faa30f0 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 2 Apr 2018 13:35:22 -0700 Subject: QMacStyle: Fix "on" toggle button text color MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I344c63debdcf012a16305f1b2124e8ad0785d982 Reviewed-by: Morten Johan Sørvig --- src/plugins/styles/mac/qmacstyle_mac.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm index 10649e6115..38373087cb 100644 --- a/src/plugins/styles/mac/qmacstyle_mac.mm +++ b/src/plugins/styles/mac/qmacstyle_mac.mm @@ -3954,7 +3954,8 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter if (!hasMenu && ct != QMacStylePrivate::Button_SquareButton) { if (isPressed || (isActive && isEnabled - && ((btn.features & QStyleOptionButton::DefaultButton && !d->autoDefaultButton) + && ((btn.state & State_On) + || ((btn.features & QStyleOptionButton::DefaultButton) && !d->autoDefaultButton) || d->autoDefaultButton == btn.styleObject))) btn.palette.setColor(QPalette::ButtonText, Qt::white); } -- cgit v1.2.3 From 8396162027bf65c5a0367d297fcf2b228ff2e85f Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 2 Apr 2018 14:30:10 -0700 Subject: QTabBar: Repaint when releasing mouse on selected tab MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some styles, most notably QMacStyle, require this to properly reflect the pressed state. Change-Id: Ie841d97afbe3cfdfde1254a7069876a1a0af2e52 Reviewed-by: Morten Johan Sørvig --- src/widgets/widgets/qtabbar.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 258e018151..2f2d1bceee 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -2166,8 +2166,12 @@ void QTabBar::mouseReleaseEvent(QMouseEvent *event) QStyleOptionTabBarBase optTabBase; optTabBase.initFrom(this); optTabBase.documentMode = d->documentMode; - if (style()->styleHint(QStyle::SH_TabBar_SelectMouseType, &optTabBase, this) == QEvent::MouseButtonRelease) + const bool selectOnRelease = + (style()->styleHint(QStyle::SH_TabBar_SelectMouseType, &optTabBase, this) == QEvent::MouseButtonRelease); + if (selectOnRelease) setCurrentIndex(i); + if (!selectOnRelease || !d->validIndex(i) || d->currentIndex == i) + repaint(tabRect(i)); } /*!\reimp -- cgit v1.2.3 From b6f7230cda02d9b11b309816ca1e41dbd2716fe0 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Tue, 3 Apr 2018 19:38:18 -0700 Subject: configure: Detect Cocoa instead of Carbon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I9d1ff47481ad450b4b57c82e15186657eb7dcf93 Reviewed-by: Morten Johan Sørvig Reviewed-by: Liang Qi Reviewed-by: Oswald Buddenhagen --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 9757254097..2830a1b189 100755 --- a/configure +++ b/configure @@ -305,7 +305,7 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown BUILD_ON_MAC=no -if [ -d /System/Library/Frameworks/Carbon.framework ]; then +if [ -d /System/Library/Frameworks/Cocoa.framework ]; then BUILD_ON_MAC=yes fi if [ "$OSTYPE" = "msys" ]; then -- cgit v1.2.3