summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-01-27 18:58:01 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-01-27 18:58:04 +0100
commitc30fc6949a5a619539d1862e484cdd0955a9b6e7 (patch)
tree043aeaa7117e5b805fb03926adadc78ffc100d47
parent68fb37d762a818cc44ea69f7c3a80a3f010b6713 (diff)
parentaac064b1c74fc902eb0d3ffd4fa79acf1c85a6df (diff)
Merge remote-tracking branch 'origin/release' into stable
-rw-r--r--dist/changes-5.2.1164
-rw-r--r--doc/global/manifest-meta.qdocconf35
-rw-r--r--qmake/generators/unix/unixmake2.cpp4
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp7
-rw-r--r--src/corelib/io/qiodevice.cpp5
-rw-r--r--src/corelib/plugin/qlibrary.cpp21
-rw-r--r--src/plugins/platforms/cocoa/qcocoasystemsettings.mm1
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp4
-rw-r--r--src/sql/doc/src/sql-driver.qdoc67
-rw-r--r--src/widgets/styles/qmacstyle_mac.mm8
10 files changed, 210 insertions, 106 deletions
diff --git a/dist/changes-5.2.1 b/dist/changes-5.2.1
new file mode 100644
index 0000000000..7762952b26
--- /dev/null
+++ b/dist/changes-5.2.1
@@ -0,0 +1,164 @@
+Qt 5.2.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.2.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+ http://qt-project.org/doc/qt-5.2
+
+The Qt version 5.2 series is binary compatible with the 5.1.x series.
+Applications compiled for 5.1 will continue to run with 5.2.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ http://bugreports.qt-project.org/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ - [QTBUG-34345][QTBUG-26008][QTBUG-26430] QPrinter no longer allows you to
+ set an invalid printer name.
+ - [QTBUG-34141] Parsing of Qt::ISODate by QDate::fromString() and
+ QDateTime()::fromString() is not as lenient as before, the date
+ component separators are now required to be non-numeric. This means a
+ string like "2000901901" will no longer be recognized as a valid ISO
+ Date, but "2000/01/01" will still be even though it doesn't strictly
+ meet the ISO format of "2000-01-01".
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtCore
+------
+
+ - [QTBUG-35069] Fixed a bug that caused negative number input using '-' to
+ be rejected because the current locale uses U+2212. QLocale::toString()
+ as well as QIntValidator and QDoubleValidator now accept both '-' and
+ U+2212, as well as the locale minus sign. QString also accepts '-' and
+ U+2212.
+ - Fixed sign conversion warnings in code using QMetaTypeId.
+
+ - QTemporaryDir:
+ * Fixed a bug in QTemporaryDir name generator that dramatically reduced
+ randomness of the name.
+
+ - QThread:
+ * [QTBUG-34840] Fixed handle leaks on Windows.
+
+QtGui
+-----
+
+ - [QTBUG-35421] Fixed crash when sending accessibility updates when the
+ corresponding widget does not have a corresponding QAccessibleInterface.
+ This showed on Mac for example with QStatusBar.
+ - Qt's generic font database now adds OpenType fonts (.otf).
+
+ - Accessibility
+ * On Linux action names were returned as empty strings in AT-SPI
+ getActions, now returns the proper names.
+
+ - QKeySequence:
+ * [QTBUG-24406] return Qt::Key_unknown with invalid modifiers on OS X
+
+ - Text:
+ * [QTBUG-35740] Fixed regression when shaping some strings containing
+ characters from multiple fonts.
+
+QtPrintSupport
+--------------
+
+ - [QTBUG-34700][QTBUG-35500] Fixed bugs that caused QtPrintSupport
+ not to report the correct the paper sizes on Windows and on OS X.
+
+QtSql
+-----
+
+ - IBase support:
+ * [QTBUG-33345] Custom port numbers are now supported.
+ * [QTBUG-13435] Fixed the internal state of IBase driver after a failed
+ open call.
+
+ - MySQL / MariaDB support:
+ * [QTBUG-31124] Fixed handling of fractions of second.
+
+ - Oracle support:
+ * [QTBUG-34794] Fixed the compilation
+
+ - Sqlite support:
+ * [QTBUG-24200] Fixed handling of fractions of second.
+ * [QTBUG-35186] Fixed evaluation of driver options
+
+QtTestLib
+---------
+
+ - [QTBUG-34630] The (default) plain text logger on Windows now logs to
+ either the system debug log (in case no console is open), or stdout, not
+ both.
+
+QtWidgets
+---------
+
+ - QSpinBox:
+ * [QTBUG-20691] Entering positive values with the '+' prefix is now
+ allowed.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Android
+-------
+
+ - [QTBUG-34984] Added workarounds for OpenGL bugs on Samsung Galaxy
+ Tab 3.
+
+OS X
+----
+
+ - [QTBUG-34411] Implemented QMainWindow::setUnifiedTitleAndToolBarOnMac.
+
+X11 / XCB
+---------
+
+- [QTBUG-32683] Fixed a bug that caused Qt applications to think the
+ screen DPI had changed when it had not, after connecting or
+ disconnecting monitors.
+
+Windows
+-------
+
+ - [QTBUG-8361] Maximizing frameless windows will no longer cover the
+ taskbar
+ - [QTBUG-34799] Updated QWidgetBackingStore and the Windows
+ implementation to support Qt::WA_StaticContents.
+ - [QTBUG-35357] Fixed a regression from Qt4 in QProcess that
+ prevented altering the pipe modes of stdin in the child process.
+
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+configure & build system
+------------------------
+
+ - [QTBUG-34949] EGL works with desktop OpenGL now
+ - A build from source will not install the Qt DLLs into lib/ any more.
+ The canonical location is bin/.
+
+qmake
+-----
+
+ - [QTBUG-35530] Fixed the detection of multiple VS installations.
+ - [QTBUG-35610] Fixed the generation of VS 2010 project files.
+ - [QTBUG-32412] Numerous fixes to Windows PDB file handling.
+ - [QTBUG-3883] Fixed make distclean not removing static library targets.
+ - Added makespec for clang using libc++ on Linux.
+ - qmake will not look for mkspecs/ directories in project trees any more.
+ Use .qmake.conf and/or .qmake.cache to "anchor" project roots.
diff --git a/doc/global/manifest-meta.qdocconf b/doc/global/manifest-meta.qdocconf
index fb0f5c200b..516e810c21 100644
--- a/doc/global/manifest-meta.qdocconf
+++ b/doc/global/manifest-meta.qdocconf
@@ -77,12 +77,9 @@ manifestmeta.android.names = "QtQuick/Qt Quick Demo - Maroon*" \
"QtWidgets/Stickman Example" \
"QtWidgets/Move Blocks Example" \
"QtWidgets/Border Layout Example" \
- "QtWidgets/Dynamic Layouts Example" \
"QtWidgets/Flow Layout Example" \
- "QtWidgets/MDI Example" \
"QtWidgets/Dock Widgets Example" \
"QtWidgets/Recent Files Example" \
- "QtWidgets/Menus Example" \
"QtWidgets/Concentric Circles Example" \
"QtWidgets/Gradients" \
"QtWidgets/Font Sampler Example" \
@@ -90,38 +87,23 @@ manifestmeta.android.names = "QtQuick/Qt Quick Demo - Maroon*" \
"QtWidgets/Transformations Example" \
"QtWidgets/Syntax Highlighter Example" \
"QtWidgets/Calendar Example" \
- "QtWidgets/Movie Example" \
- "QtWidgets/Validators Example" \
"QtWidgets/Analog Clock Example" \
"QtWidgets/Calculator Example" \
"QtWidgets/Mouse Button Tester" \
"QtWidgets/Character Map Example" \
- "QtWidgets/Wiggly Example" \
"QtWidgets/Digital Clock Example" \
"QtWidgets/Elided Label Example" \
- "QtWidgets/Image Viewer Example" \
"QtWidgets/Sliders Example" \
"QtWidgets/Tetrix Example" \
"QtWidgets/Group Box Example" \
- "QtWidgets/Spin Boxes Example" \
"QtWidgets/Undo Framework" \
- "QtWidgets/Regular Expressions Example" \
"QtWidgets/Colliding Mice Example" \
- "QtWidgets/Basic Graphics Layouts Example" \
- "QtWidgets/40000 Chips" \
"QtWidgets/Diagram Scene Example" \
- "QtWidgets/Drag and Drop Robot Example" \
"QtWidgets/Elastic Nodes Example" \
- "QtWidgets/Pad Navigator Example" \
- "QtWidgets/Anchor Layout Example" \
"QtWidgets/Weather Anchor Layout Example" \
- "QtConcurrent/Image Scaling Example" \
- "QtConcurrent/QtConcurrent Progress Dialog Example" \
"QtNetwork/Torrent Example" \
"QtNetwork/Network Chat Example" \
"QtSQL/Master Detail Example" \
- "QtOpenGL/Cube OpenGL ES 2.0 example" \
- "QtOpenGL/Textures Example" \
"QtLinguist/Arrow Pad Example" \
"QtGui/Raster Window Example" \
"QtGui/Analog Clock Window Example" \
@@ -129,12 +111,16 @@ manifestmeta.android.names = "QtQuick/Qt Quick Demo - Maroon*" \
"QtMultimedia/QML Video Shader Effects Example" \
"QtMultimedia/QML Video Example" \
"QtMultimedia/QML Camera Example" \
- "QtMultimedia/Audio Output Example" \
"QtSVG/Text Object Example" \
"QtQML/Qt Quick Examples - XMLHttpRequest" \
"QtQuick/Qt Quick Particles Examples - *" \
"QtQuick/Qt Quick Examples - Touch Interaction" \
- "QtQuick/Scene Graph - *" \
+ "QtQuick/Scene Graph - Custom Geometry" \
+ "QtQuick/Scene Graph - Graph" \
+ "QtQuick/Scene Graph - OpenGL Under QML" \
+ "QtQuick/Scene Graph - Painted Item" \
+ "QtQuick/Scene Graph - Rendering FBOs" \
+ "QtQuick/Scene Graph - Simple Material" \
"QtQuick/Qt Quick Examples - Image Elements" \
"QtQuick/Qt Quick Examples - Key Interaction" \
"QtQuick/Qt Quick Examples - Text" \
@@ -147,21 +133,15 @@ manifestmeta.android.names = "QtQuick/Qt Quick Demo - Maroon*" \
"QtWidgets/Interview" \
"QtWidgets/Spreadsheet" \
"QtWidgets/Pixelator Example" \
- "QtWidgets/Class Wizard Example" \
"QtWidgets/Animated Tiles Example" \
- "QtWidgets/Basic Layouts Example" \
- "QtWidgets/Application Example" \
"QtWidgets/Affine Transformations" \
"QtWidgets/Image Composition Example" \
"QtWidgets/Basic Drawing Example" \
"QtWidgets/Vector Deformation" \
"QtWidgets/Painter Paths Example" \
- "QtWidgets/Text Edit" \
"QtWidgets/Style Sheet Example" \
"QtWidgets/Code Editor Example" \
- "QtWidgets/Window Flags Example" \
"QtWidgets/Scribble Example" \
- "QtWidgets/Shaped Clock Example" \
"QtWidgets/Line Edits Example" \
"QtWidgets/Calendar Widget Example" \
"QtWidgets/Completer Example" \
@@ -169,8 +149,7 @@ manifestmeta.android.names = "QtQuick/Qt Quick Demo - Maroon*" \
"QtQML/Extending QML - Grouped Properties Example" \
"QtQML/Extending QML - Methods Example" \
"QtQML/Extending QML - Signal Support Example" \
- "QtQML/Extending QML - Attached Properties Example" \
- "QtWidgets/Address Book Example"
+ "QtQML/Extending QML - Attached Properties Example"
manifestmeta.android.tags = android
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 7ed89e23d7..bc4c167744 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -722,11 +722,15 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" ";
if(project->first("TEMPLATE") == "app") {
QString icon = fileFixify(var("ICON"));
+ QString bundleIdentifier = "com.yourcompany." + var("QMAKE_BUNDLE");
+ if (bundleIdentifier.endsWith(".app"))
+ bundleIdentifier.chop(4);
t << "@$(DEL_FILE) " << info_plist_out << "\n\t"
<< "@sed ";
foreach (const ProString &arg, commonSedArgs)
t << arg;
t << "-e \"s,@ICON@," << icon.section(Option::dir_sep, -1) << ",g\" "
+ << "-e \"s,@BUNDLEIDENTIFIER@," << bundleIdentifier << ",g\" "
<< "-e \"s,@EXECUTABLE@," << var("QMAKE_ORIG_TARGET") << ",g\" "
<< "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" "
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index d1420e95f6..3ec70c1f58 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -910,13 +910,15 @@ static inline QString toString(compileAsManagedOptions option)
return QString();
}
-static inline QString toString(debugOption option)
+static inline QString toString(debugOption option, DotNET compilerVersion)
{
switch (option) {
case debugUnknown:
case debugLineInfoOnly:
break;
case debugDisabled:
+ if (compilerVersion <= NET2010)
+ break;
return "None";
case debugOldStyleInfo:
return "OldStyle";
@@ -1401,7 +1403,8 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCCLCompilerTool &tool)
<< attrTagS(_CompileAsManaged, toString(tool.CompileAsManaged))
<< attrTagT(_CompileAsWinRT, tool.CompileAsWinRT)
<< attrTagT(_CreateHotpatchableImage, tool.CreateHotpatchableImage)
- << attrTagS(_DebugInformationFormat, toString(tool.DebugInformationFormat))
+ << attrTagS(_DebugInformationFormat, toString(tool.DebugInformationFormat,
+ tool.config->CompilerVersion))
<< attrTagT(_DisableLanguageExtensions, tool.DisableLanguageExtensions)
<< attrTagX(_DisableSpecificWarnings, tool.DisableSpecificWarnings, ";")
<< attrTagS(_EnableEnhancedInstructionSet, toString(tool.EnableEnhancedInstructionSet))
diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp
index a81b8580c4..53019e1ff4 100644
--- a/src/corelib/io/qiodevice.cpp
+++ b/src/corelib/io/qiodevice.cpp
@@ -259,9 +259,10 @@ QIODevicePrivate::~QIODevicePrivate()
\value NotOpen The device is not open.
\value ReadOnly The device is open for reading.
- \value WriteOnly The device is open for writing.
+ \value WriteOnly The device is open for writing. Note that this mode implies
+ Truncate.
\value ReadWrite The device is open for reading and writing.
- \value Append The device is opened in append mode, so that all data is
+ \value Append The device is opened in append mode so that all data is
written to the end of the file.
\value Truncate If possible, the device is truncated before it is opened.
All earlier contents of the device are lost.
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
index 468f759189..9736950c89 100644
--- a/src/corelib/plugin/qlibrary.cpp
+++ b/src/corelib/plugin/qlibrary.cpp
@@ -374,6 +374,7 @@ private:
static QBasicMutex qt_library_mutex;
static QLibraryStore *qt_library_data = 0;
+static bool qt_library_data_once;
QLibraryStore::~QLibraryStore()
{
@@ -429,8 +430,11 @@ Q_DESTRUCTOR_FUNCTION(qlibraryCleanup)
// must be called with a locked mutex
QLibraryStore *QLibraryStore::instance()
{
- if (Q_UNLIKELY(!qt_library_data))
+ if (Q_UNLIKELY(!qt_library_data_once && !qt_library_data)) {
+ // only create once per process lifetime
qt_library_data = new QLibraryStore;
+ qt_library_data_once = true;
+ }
return qt_library_data;
}
@@ -440,12 +444,15 @@ inline QLibraryPrivate *QLibraryStore::findOrCreate(const QString &fileName, con
QLibraryStore *data = instance();
// check if this library is already loaded
- QLibraryPrivate *lib = data->libraryMap.value(fileName);
+ QLibraryPrivate *lib = 0;
+ if (Q_LIKELY(data))
+ lib = data->libraryMap.value(fileName);
if (!lib)
lib = new QLibraryPrivate(fileName, version);
// track this library
- data->libraryMap.insert(fileName, lib);
+ if (Q_LIKELY(data))
+ data->libraryMap.insert(fileName, lib);
lib->libraryRefCount.ref();
return lib;
@@ -464,9 +471,11 @@ inline void QLibraryStore::releaseLibrary(QLibraryPrivate *lib)
// no one else is using
Q_ASSERT(lib->libraryUnloadCount.load() == 0);
- QLibraryPrivate *that = data->libraryMap.take(lib->fileName);
- Q_ASSERT(lib == that);
- Q_UNUSED(that);
+ if (Q_LIKELY(data)) {
+ QLibraryPrivate *that = data->libraryMap.take(lib->fileName);
+ Q_ASSERT(lib == that);
+ Q_UNUSED(that);
+ }
delete lib;
}
diff --git a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm
index 194394d11a..1c08d4bcb7 100644
--- a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm
@@ -254,6 +254,7 @@ QHash<QPlatformTheme::Font, QFont *> qt_mac_createRoleFonts()
fonts.insert(QPlatformTheme::ListBoxFont, qt_mac_qfontForThemeFont(kThemeViewsFont));
fonts.insert(QPlatformTheme::TitleBarFont, qt_mac_qfontForThemeFont(kThemeWindowTitleFont));
fonts.insert(QPlatformTheme::MenuFont, qt_mac_qfontForThemeFont(kThemeMenuItemFont));
+ fonts.insert(QPlatformTheme::MenuBarFont, qt_mac_qfontForThemeFont(kThemeMenuItemFont));
fonts.insert(QPlatformTheme::ComboMenuItemFont, qt_mac_qfontForThemeFont(kThemeSystemFont));
fonts.insert(QPlatformTheme::HeaderViewFont, qt_mac_qfontForThemeFont(kThemeSmallSystemFont));
fonts.insert(QPlatformTheme::TipLabelFont, qt_mac_qfontForThemeFont(kThemeSmallSystemFont));
diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
index a571f16eb6..a2ef8bf20f 100644
--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
@@ -287,12 +287,14 @@ XInput2DeviceData *QXcbConnection::deviceForId(int id)
return dev;
}
-#ifdef XCB_USE_XINPUT22
+#if defined(XCB_USE_XINPUT22) || !defined(QT_NO_TABLETEVENT)
static qreal fixed1616ToReal(FP1616 val)
{
return (qreal(val >> 16)) + (val & 0xFF) / (qreal)0xFF;
}
+#endif
+#ifdef XCB_USE_XINPUT22
static qreal valuatorNormalized(double value, XIValuatorClassInfo *vci)
{
if (value > vci->max)
diff --git a/src/sql/doc/src/sql-driver.qdoc b/src/sql/doc/src/sql-driver.qdoc
index 849cdcd544..f1fd2f6e90 100644
--- a/src/sql/doc/src/sql-driver.qdoc
+++ b/src/sql/doc/src/sql-driver.qdoc
@@ -175,73 +175,6 @@
built in release mode only. If you are expecting a debug version
to be built as well, don't use the \c{"-o Makefile"} option.
- \section3 How to build the MySQL driver for MinGW users
-
- The following steps have been used successfully for WinXP SP3. In
- this example, Qt 4.6.2 is shown.
-
- \list
-
- \li Download the following components:
- \list
- \li \c{MinGW-5.1.6.exe}
- \li \c{mingw-utils-0.3.tar.gz}
- \li Qt sources, e.g. \c{qt-everywhere-opensource-src-4.6.2.zip}
- \li \c{mysql-5.1.35-win32.msi}
- \endlist
-
- \li Install \c{MinGW-5.1.6.exe} in, e.g. \c{C:\MinGW}.
-
- \li Extract \c{mingw-utils-0.3.tar.gz} into, e.g. \c{C:\MinGW}.
-
- \li Add the path for \c{MinGW-5.1.6.exe} to your \c{PATH} variable,
- e.g. \c{C:\MinGW\bin;}
-
- \li Extract the Qt sources, (\c{qt-everywhere-opensource-src-4.6.2.zip}),
- into, e.g. \c{C:\Qt}.
-
- \li Add the path for the eventual Qt binary to your \c{PATH} variable,
- e.g. \c{C:\Qt\4.6.2\bin;}.
-
- \li Install MySQL (\c{mysql-5.1.35-win32.msi}), customizing the
- components. Select only the headers and libraries. Install in,
- e.g. \c{C:\MySQL\MySQL51}.
-
- \li Open the DOS prompt, go to \c{C:\MySQL\MySQL51\lib\opt}, and run
- the following commands:
- \list
- \li \c{reimp -d libmysql.lib}
- \li \c{dlltool -k -d libmysql.def -l libmysql.a}
- \endlist
-
- \li Open the DOS prompt, go to \c{C:\Qt\4.6.2} and run the following commands:
- \list
- \li \c{configure.exe -debug-and-release -platform win32-g++ -qt-sql-mysql
- -l mysql -I C:\MySQL\MySQL51\include -L C:\MySQL\MySQL51\lib\opt}
- \li \c{mingw32-make sub-src}
- \endlist
- This step takes a long time.
-
- \li Open the DOS prompt, go to
- \c{C:\Qt\4.6.2\src\plugins\sqldrivers\mysql} and run the
- following command:
- \list
- \li \c{qmake "INCLUDEPATH+=C:/MySQL/MySQL51/include" "LIBS+=-L. mysql" mysql.pro}
- \endlist
-
- \li Now the following libraries are ready in \c{C:\Qt\4.6.2\plugins\sqldrivers}.
- \list
- \li \c{libqsqlmysql4.a}
- \li \c{libqsqlmysqld4.a}
- \li \c{qsqlmysql4.dll}
- \li \c{qsqlmysqld4.dll}
- \endlist
- To use the SDK and QtCreator directly, copy these libraries to
- your \c{C:\Qt\...\qt\plugins\sqldrivers\}, and copy
- \c{C:\MySQL\MySQL51\lib\opt\libmysql.dll} to your \c{C:\Qt\...\qt\bin\}.
-
- \endlist
-
\target QOCI
\section2 QOCI for the Oracle Call Interface (OCI)
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index d13339b555..fa49bcb884 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -2077,6 +2077,10 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
ret = 0;
break;
+ case PM_MenuBarPanelWidth:
+ ret = 0;
+ break;
+
case QStyle::PM_MenuDesktopFrameWidth:
ret = 5;
break;
@@ -6259,6 +6263,10 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
sz = QSize(w, h);
}
break;
+ case CT_MenuBarItem:
+ if (!sz.isEmpty())
+ sz += QSize(12, 4); // Constants from QWindowsStyle
+ break;
case CT_ToolButton:
sz.rwidth() += 10;
sz.rheight() += 10;