Marc Mutz [Fri, 24 Aug 2012 07:47:55 +0000 (09:47 +0200)]
QDBusMetaTypeId: replace a volatile bool with an atomic int
Since there is no non-atomic data that is protected by 'initialized'
anymore, the read from, and the store to, 'initialized' may now have
relaxed memory ordering.
Change-Id: I58004e782d9fd93122efb31fa5b30ee160646d99
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Fri, 24 Aug 2012 10:06:03 +0000 (12:06 +0200)]
QDBusMetaTypeId: don't cache the result of qMetaTypeId<>() in static ints
There's not much point in caching the result of qMetaTypeId<>,
because it's already internally memoised.
In addition, the code that initialised the static int caches wasn't
protected against concurrent access under the assumption that the
operations performed were thread-safe.
That is true for most of them, but not for the stores to the static ints,
which race against each other:
// Thread A // Thread B
r1 = initialized /*=false*/
r1 = initialized /*=false*/
r2 = qMetaTypeId<...>();
r2 = qMetaTypeId<...>();
message = r2; message = r2; // race, ditto for all other ints
To fix, turn the ints into inline functions that just call the respective
qMetaTypeId<>() function.
Change-Id: I5aa80c624872c3867232abc26ffdcde70cd54022
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
José Millán Soto [Tue, 11 Sep 2012 11:22:35 +0000 (13:22 +0200)]
Correct QSpiAccessibleBridge::setRootObject definition
QSpiAccessibleBridge::setRootObject was defined to require a
QAccessibleInterface* as parameter instead of QObject*, as a result of
that, QSpiAccessibleBridge::setRootObject did not reimplement
QPlatformAccessibility::setRootObject and the adaptor was not initialized.
After this change, applications should work with screen readers.
Change-Id: Iee3d39f8e0959c1d75b1e682847d266a723c141b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Mark Brand [Sat, 22 Sep 2012 08:30:17 +0000 (10:30 +0200)]
configure: remove CONFIG features while getting PKG_CONFIG
When qmake is used to get PKG_CONFIG, core and gui are not
available. This motivates CONFIG-=qt. In fact, we don't need any
features for this job.
Change-Id: Id247054d43c50f6aeb62db7585c3e90f57aa36a1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
J-P Nurmi [Thu, 20 Sep 2012 15:09:49 +0000 (17:09 +0200)]
QGtkStyle: remove an unnecessary sanity check for theme name
QGtkStyle was unable to detect the current GTK+ theme.
Change-Id: Ifd816e044bb8294f4ee2e3598ff53eb7cbce6064
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Konstantin Ritt [Sun, 26 Aug 2012 01:09:09 +0000 (04:09 +0300)]
A step out from Harfbuzz (reduce dependency)
Introduce QCharAttributes and use it instead of HB_CharAttributes everywhere in Qt
(in Harfbuzz, the HB_CharAttributes is only used in the text segmentation algorithm
which has been moved from HB to Qt (well, most of it)).
Rename some members to better reflect their meaning,
remember to keep HB_CharAttributes in sync with QCharAttributes.
Also replace HB_ScriptItem with a (temporary) QUnicodeTools::ScriptItem struct
that will be replaced with a more efficient/friendly solution a bit later.
The soft hyphen and the mandatory break detection has been factored out
of the default text breaking algorithm to a higher level in order to refactor
the QCharAttributes bitfields and to optimize the implementation for the common case.
Change-Id: Ieb365623ae954430f1c8b2dfcd65c82973143eec
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Konstantin Ritt [Wed, 19 Sep 2012 15:07:28 +0000 (18:07 +0300)]
Fix build under MinGW after
1e3269c0863bfac26be9e9239b6427ea77c6175b
Change-Id: I3c8c28ba1016af6351afa5118893133d373cb4e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Caroline Chao [Thu, 20 Sep 2012 13:46:44 +0000 (15:46 +0200)]
Test: Update QSKIP message of tst_QVector::outOfMemory
This test is crashing. Specify the bug report number in the QSKIP
message.
Task-number: QTBUG-22343
Task-number: QTBUG-27285
Change-Id: I4d4ead4f54944a545103a3d01c5c9d302d7fb1df
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Caroline Chao [Fri, 21 Sep 2012 13:59:21 +0000 (15:59 +0200)]
Test: fix warning for tst_QPluginLoader::loadGarbage
Garbage libs (under elftest) are numbered from 1 to 5 and not from 0 to 4.
Change-Id: Ia0162372bf5cd1fb53a0442543c5a65716880611
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Samuel Rødal [Fri, 21 Sep 2012 10:12:01 +0000 (12:12 +0200)]
Fixed multiple modal windows from all blocking each other.
A modal window in front in the modal window list should never be blocked
by a modal window further back in the list. This was taken care of in
QGuiApplicationPrivate::isWindowBlocked(), we just need to make sure it
gets called when a new modal window gets shown so that its blocked
status is up to date.
Task-number: QTBUG-27206
Change-Id: I590f1715e66067edb178081352636f34fe54a885
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Shawn Rutledge [Wed, 5 Sep 2012 12:22:31 +0000 (14:22 +0200)]
Added manual test for QScreen properties
Shows property values in fields which auto-update when the properties
change.
Change-Id: Ib97566a74cb8d0fff5f85bf97783e89dfb07481f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Sean Harmer [Thu, 20 Sep 2012 14:53:22 +0000 (15:53 +0100)]
OpenGL: Add runtime check for OS X version and improve logic
Apple recommend adding NSOpenGLProfileVersion3_2Core when asking for
a 3.2 Core profile context and NSOpenGLProfileVersionLegacy in all other
cases.
Also added a missing runtime check for OS X 10.7 or newer. Fixes a
potential crash if Qt was built on 10.7/8 but executed on 10.6.
Change-Id: I4c09d2dbbe8df25a3553cc01b468dabab0f8eaa4
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Frederik Gladhorn [Thu, 20 Sep 2012 14:57:49 +0000 (16:57 +0200)]
Documentation fixes.
Change-Id: I2e234ec4307bbe39359cdfa8b13e86661dad43b6
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Frederik Gladhorn [Thu, 20 Sep 2012 14:23:13 +0000 (16:23 +0200)]
Fix network doc links.
Change-Id: I319644da80d91c5cf6d247410f022fbfd062a1f3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Frederik Gladhorn [Thu, 20 Sep 2012 11:03:15 +0000 (13:03 +0200)]
Fix doc errors.
Change-Id: I9974d870c081620217582fcb6f8b146d208a471c
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Frederik Gladhorn [Wed, 19 Sep 2012 07:15:38 +0000 (09:15 +0200)]
Move examples to proper location.
Change-Id: Ib808f5d99cb8217f8786411b531fa5bc7fa5250a
Reviewed-by: Martin Smith <martin.smith@digia.com>
Frederik Gladhorn [Tue, 18 Sep 2012 18:32:53 +0000 (20:32 +0200)]
Move opengl/wid/net example docs to proper folders.
Change-Id: I846439a9cf7ad965ed27a00f98dbc4ff97abe73b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Mitch Curtis [Thu, 6 Sep 2012 14:58:56 +0000 (16:58 +0200)]
Clarify valueChanged() signals' docs in QSpinBox and QDoubleSpinBox.
Explicitly mention that two signals are emitted and that the QString
overload does include prefix() and suffix().
Task-number: QTBUG-26190
Change-Id: I90435779dcb2e4aa494c4b1b6e73e7f69d7998a4
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Mitch Curtis [Fri, 7 Sep 2012 13:45:39 +0000 (15:45 +0200)]
Document that date/time formats without separators are unsupported.
The code is not handling formats like "HHmm ss" correctly, so it needs
to be documented until such support is provided.
Task-number: QTBUG-26067 QTBUG-26596
Change-Id: Ia456d8020e3e0aa9422e6e6987ac984f308facf9
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jens Bache-Wiig [Wed, 19 Sep 2012 15:45:25 +0000 (17:45 +0200)]
Fix regression in QAbstractScrollArea
The style hint SH_ScrollView_FrameOnlyAroundContents was currently
being ignored by QAbstractScrollArea. This looks like an accidental
regression following
10c6f015f45092040c281bb90a65179f598a00b1.
This code path does not execute on mac so it should have no impact
on that patch.
Change-Id: I78ca0a6b87dfdd7d426acbb3ef49480390211af2
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Olivier Goffart [Tue, 28 Aug 2012 13:47:35 +0000 (15:47 +0200)]
Add comments to document the internals of QMutex
Change-Id: Ieb5632017e5e8e09a11dc6b929efa19b4f350086
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Fri, 18 May 2012 18:00:23 +0000 (20:00 +0200)]
Use QStringList::join(QChar) overload where applicable [qmake]
This is an automated change performing the following replacements:
join\("(.)"\) -> join('\1')
join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1'))
join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))
Change-Id: I9c9964703dedfdab6e7bfac80be22bd5570e2e49
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Marc Mutz [Wed, 19 Sep 2012 15:50:42 +0000 (17:50 +0200)]
qmake: add ProStringList::join(QChar)
Same reasoning as for
68e04c3ac148bcbe71f2deeb7288563f6cdbcab5 applies.
Adding the overload was easier than to teach a Perl script to distinguish
between QStringList and ProStringList instances...
Change-Id: I6de6ecf21fdad135ac213b5c794927a9bc120a92
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:34:50 +0000 (12:34 +0200)]
announce the android platform in the respective specs
Change-Id: I55c8d9fe4160c37eec6073894481e313e4dea191
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:17:53 +0000 (12:17 +0200)]
add missing maemo platform announcement to n9 spec
Change-Id: I24855dc3fdfcc19a81f7e030c9dfbbdddd2bb552
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:10:59 +0000 (12:10 +0200)]
claim that mingw is a platform
it's mostly win32+gcc, but sometimes there are library differences, so it
makes sense to have an own platform flag for it.
Change-Id: I985f0dd39a47bfc16f10f4b4a9c168874ae2f20d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 20:17:33 +0000 (22:17 +0200)]
make qmakespecs announce the compiler family
on the way to eliminate scoping based on the spec.
gcc and msvc go as such into CONFIG, the other ones get the vendor
prefixed, as most are mostly unknown and thus likely to clash with
users' flags.
Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:28:05 +0000 (17:28 +0200)]
don't skip the configure.exe build even when it already exists
the build steps are now fast enough to make no-op rebuilds no problem.
Change-Id: I1018735bf50f3e7a66e22637237f26f98a3baf1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:26:52 +0000 (17:26 +0200)]
don't skip the syncqt call even when include/ exists
the syncqt run is now fast enough
Change-Id: Ie95a617fe99791ed38d02fe41578a0136fb68ddc
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 18:47:17 +0000 (20:47 +0200)]
don't set MODULE_BASE_OUTDIR unconditionally
webkit actually tries to set it, and after the syncqt invocation changes
we were breaking it.
Change-Id: I1ec740b7e96c972ca173f384529dde1fc7e7cc13
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Stephen Kelly [Wed, 19 Sep 2012 12:06:11 +0000 (14:06 +0200)]
Replace QStyleOptionViewItemV? with QStyleOptionViewItem
The former are a typedef for the latter in Qt 5. This only touches
internal implementation, as the API was migrated long ago.
Change-Id: Ided73021ebecc00508e6325c3d988b6c6ad336cd
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 16:19:29 +0000 (18:19 +0200)]
move syncqt call to qt_module_headers.prf
for one, the syncqt invocation is qt module magic and thus simply does
not belong into the generic default_pre file.
second, this way the forwarding header generation is now linked to the
rest of the build magic for a particular module, which is way less
confusing for the unsuspecting developer.
Change-Id: Idc8e420d3faf173d7fff4a41e6e1c59af15c3023
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Oswald Buddenhagen [Wed, 19 Sep 2012 19:56:16 +0000 (21:56 +0200)]
make error() abort the qmake run, not just the current file
Change-Id: I82fc55680f9ffb227e25acb39c797596225ba89e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Samuel Rødal [Thu, 20 Sep 2012 14:01:03 +0000 (16:01 +0200)]
Fixed outline / fill inconsistencies in raster paint engine.
We did coordinate rounding of the fill in the raster paint engine to
match how drawLine_midpoint_i rendered lines. With the new cosmetic
stroker in 4.8 this rounding is not needed anymore.
Task-number: QTBUG-26013
Change-Id: Ibe86fa809276c8e7988d393a67e772d57b9a4799
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Samuel Rødal [Thu, 20 Sep 2012 13:30:24 +0000 (15:30 +0200)]
Fixed inconsistent rounding of square cap pens.
A horizontal line should round up at the same time as a vertical line
with square cap, when rendering at subpixel coordinates. Thus, the
special casing in the cosmetic stroker of offsetting by half a pixel
should be for flat caps instead of for square caps.
Task-number: QTBUG-26013
Change-Id: Ic09249337f814c7de95a17976ec9e651561a744b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Laszlo Agocs [Wed, 5 Sep 2012 09:18:15 +0000 (12:18 +0300)]
Do not refer to non-existant member in QSurfaceFormat docs
Sample buffers should be enabled automatically under the hood
when samples is > 0 and therefore the getter and setter are
gone.
Change-Id: I9cd6438e89060f901598a6aacacb99362fac4718
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Laszlo Agocs [Fri, 31 Aug 2012 13:29:11 +0000 (16:29 +0300)]
Cocoa GL context: do not crash when closing windows
Running hellowindow and closing its windows one by one would result
in crashes without the additional checks for the presence of the
underlying native window.
Change-Id: Id32bdfda9a77936380b2e9a95fb56ceb52028d9d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Jan-Arve Saether [Mon, 27 Aug 2012 14:12:00 +0000 (16:12 +0200)]
Doc fix: Fix references to snippets and examples.
Did a recursive search under examples\widgets\doc
search criteria: "\snippet widgets/"
replaced with: "\snippet "
Change-Id: I795580f8d207088df543edd9ef3b7b76c5e30d69
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Andy Shaw [Mon, 27 Aug 2012 12:03:47 +0000 (14:03 +0200)]
Load Mac specific resources when used in a static build
When Qt was built statically then the Mac specific resources were not
being loaded which meant some style specific images were not used.
Task-number: QTBUG-25391
Change-Id: If311148df19a87b6c8104553b662e3bf157f5717
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Sergio Ahumada [Tue, 18 Sep 2012 22:39:16 +0000 (00:39 +0200)]
printsupport: Include own headers first
cpp files should include their own headers first (but below config.h)
Change-Id: I32a2c76a39d03f543c3eb8393b5e3015276f0622
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Sergey Hambardzumyan <sergey.hambardzumyan@digia.com>
Sergio Ahumada [Tue, 18 Sep 2012 22:06:49 +0000 (00:06 +0200)]
dbus: Include own headers first
cpp files should include their own headers first (but below config.h)
Change-Id: I4115604aee3211118e2ecf604067f3559dbb9f4c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Stephen Kelly [Wed, 19 Sep 2012 15:34:12 +0000 (17:34 +0200)]
Remove casting of QStyleOptionViewItems to set data.
The correct values are already set inside setOptions, because the
multiple versions of QStyleOptionViewItem were squashed in Qt 5.
Change-Id: If0faf4b35bbf476e00905905376868814b8b095a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Rafael Roquetto [Wed, 12 Sep 2012 13:53:46 +0000 (15:53 +0200)]
Rotate non maximized windows
There are two types of rotation to be considered:
1. Rotation of native widgets
The corresponding window should be rotated and resized proportionally to the
new screen geometry.
2. Rotation of toplevel windows.
The window will be only rotated. It will be only moved or resized if it
becomes clipped, in order to be fitted on the screen properly.
Change-Id: Ice92427ac07a9bea284e68917ff3e0f436722bc0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 17:24:51 +0000 (19:24 +0200)]
make src/tools/ compile without CamelCase headers
so the build works with syncqt -minimal
Change-Id: Ief5e8eb9a504dd6c84cff76cc3e5257450386a0f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:24:21 +0000 (17:24 +0200)]
don't require a fake qconfig.h for the configure bootstrap
Change-Id: I3d1224ad19b9e5278e35cf7c5142a29ccb589140
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:20:36 +0000 (17:20 +0200)]
syncqt only the QtCore headers for the bootstrap
Change-Id: I26e19805823bfe987c721f6a274803e54f0e4003
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 15:19:31 +0000 (17:19 +0200)]
move the module validation below the loading of sync.profile
otherwise the -module option will always die.
Change-Id: I023ea5681a03a2848e1084eedbbcc66f8d060b69
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 10:20:03 +0000 (12:20 +0200)]
simplify forwarding include() statement in default specs
Change-Id: Ie584491a5f0355ef3f4457d9b4b9734e6e8fdc47
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 07:32:46 +0000 (09:32 +0200)]
resolve only one level of symlinks, and only for the default specs
otherwise we end up in the source tree, which is counterproductive.
Task-number: QTBUG-26869
Change-Id: Id44a94f827dc285c75b9b243c8ef6478e668e3ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Tue, 18 Sep 2012 08:54:52 +0000 (10:54 +0200)]
fold m_qmakespecFull back into m_qmakespec
the original value is not used any more after the final resolution.
Change-Id: Icadc219f045a1bbfd20506c4c72c53d1fb352969
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 13:39:49 +0000 (15:39 +0200)]
make 'make check' work with non-installed prefix builds
add the appropriate environment to the command lines
Change-Id: Ic9d3c60255be88f431213acd8c5e0ff55e014f5b
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 13:38:56 +0000 (15:38 +0200)]
factor out qtAddTargetEnv()
Change-Id: Ib0517da54da98de4b1f2ee7d80bee22316231091
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:28:06 +0000 (12:28 +0200)]
remove pointless conditionals+branches
the surrounding TEMPLATE == vc* scope already implies vcproj, as dsp is
not supported any more.
Change-Id: I68363aca62e21135f42572040ccc7b189dcf32c8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 10:13:55 +0000 (12:13 +0200)]
remove mentions of borland from project files
Change-Id: I3049b24ae287bee50aca1de06664a2309df69edf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 18:45:19 +0000 (20:45 +0200)]
don't make the outputs depend on $$QMAKE_DUMPCPP
the variable can contain a complex command which would make a mess of
the makefile.
also, the tool doesn't change all that often, so it's not particularly
useful to depend on the binary.
Change-Id: I965d6555cb22bd6d5306b324f5cad0d747128e99
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 18:42:44 +0000 (20:42 +0200)]
remove now unnecessary indirections
qmake's new parser can deal with this much more readable code.
Change-Id: I772c9da4c9d049e2b332305f41496ed1196f60eb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Frederik Gladhorn [Wed, 19 Sep 2012 07:06:07 +0000 (09:06 +0200)]
Fix typo in docs.
Change-Id: Icfafa00062b442903579dd7993c75fffb60187f9
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Tilman Sauerbeck [Tue, 21 Aug 2012 17:16:08 +0000 (19:16 +0200)]
Make QStatusBar text available via accessibility.
UNTESTED cause the build fails for me (unrelated to this patch).
Change-Id: Ie6836596b6fbaf93baa21d7008509774f1379f5c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Samuel Rødal [Wed, 19 Sep 2012 15:01:01 +0000 (17:01 +0200)]
Fixed potential use of uninitialized variable in qgl.cpp
If glGetBooleanv fails this variable is left uninitialized.
Task-number: QTBUG-26952
Change-Id: Idb42833f2907bb66fd87c5cdb39753fca04e7438
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thiago Macieira [Sun, 22 Apr 2012 19:35:10 +0000 (21:35 +0200)]
Split the qt_message_output function in two
This way, I can ensure that the noreturn qFatal function calls a
noreturn function as its last action.
Change-Id: I6db7aa2539af430414645f386d7fce87cdb97186
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Marc Mutz [Tue, 7 Aug 2012 17:33:11 +0000 (19:33 +0200)]
QFileInfoGatherer: remove unused members userId/groupId
None of the code references these, so remove.
Change-Id: Ie48d30b49c644f093df9f42c8d087751c4e980ba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Tue, 7 Aug 2012 17:17:09 +0000 (19:17 +0200)]
QFileInfoGatherer: fix race conditions pt.1: abort
Fix a race on the 'abort' variable. While there was a mutex lock around
the code that sets the variable in ~QFileInfoGatherer, there was no
protection in getFileInfos(), where it is read:
// T:this->thread() // T:*this
// in getFileInfos(), after last mutex.unlock()
mutex.lock();
abort = true; while (!abort...
// ... // ...
Fix by making 'abort' an atomic. This means that we can drop the mutex
locker in the destructor, too. We still mostly access 'abort' under
protection of the mutex, because we need to protect other variables that
just happen to be accessed together with 'abort', but we avoid the mutex
lock/unlock on each iteration of the while loop in getFileInfos().
Also cleaned up the logic in run():
- by using the canonical form of condition.wait() (in a loop that
checks the condition), we can ensure that !path.isEmpty() and avoid
having to use the updateFiles boolean.
- by checking for abort.load() after we return from
condition.wait(), we minimise the waiting time for thread
exit.
- by using different local names, we avoid having to this->qualify members.
Also changed one condition.wakeOne() to wakeAll() for consistency
with fetchExtendedInformation().
Change-Id: If35f338fe774546616ec287c1c37e2c32ed05f1a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Mitch Curtis [Mon, 17 Sep 2012 15:11:16 +0000 (17:11 +0200)]
Pass correct argument to QShortcutEvent ctor in tst_qabstractbutton.cpp
The QShortcutEvent constructor takes "int shortcutId" as its second
argument, not a bool. Since the default shortcutId is 0, this test
passed, since false == 0.
Change-Id: I43bbae4613f3badb1578dccec76dcdd3c96a3a2f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Marc Mutz [Thu, 24 May 2012 06:35:39 +0000 (08:35 +0200)]
QVarLengthArray: provide STL-compatible member function names
This allows, among other things, to use QVarLengthArray as the target of
a std::back_insert_iterator.
Change-Id: I507f612a23da854bf865780aa0a7e6312f4a896b
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Sean Harmer [Wed, 19 Sep 2012 13:09:16 +0000 (14:09 +0100)]
OpenGL: Make use of the requested version and profile in QGLWidget
When instatiating a QGLWidget in Qt5 at present it ignores the version
and profile information in the QGLFormat meaning that we always end up
with an OpenGL 2.x profile rather than what we asked for. This commit
properly takes the version and profile into account.
Change-Id: I097f10e397c23f5d97c5fcd8d5354667da286896
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Sean Harmer [Wed, 19 Sep 2012 12:46:36 +0000 (13:46 +0100)]
OpenGL: Add flags and logic for newer versions of OpenGL in QGLFormat
Change-Id: Iad57286c36c7fd205f06abc40cca5f568d572e81
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Sean Harmer [Wed, 19 Sep 2012 11:07:46 +0000 (12:07 +0100)]
OpenGL: Request latest GL version when using QGLTemporaryContext
This is necessary so that QGLFormat::openGLVersionFlags() returns the
complete set of versions. Without this patch the temporary context
ends up obtaining an OpenGL 2.x context as the QPA plugins now prefer
to use the ARB {wgl,glx}CreateContextAttribsARB function which creates
contexts of the specified version (2.0 for a default QSurfaceFormat).
Change-Id: I2c3e02c9d7b77d4ee0484f9e8786f41675f8a439
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Giuseppe D'Angelo [Thu, 13 Sep 2012 18:23:10 +0000 (19:23 +0100)]
Make QTimer::singleShot take a pointer-to-const QObject
The obvious idea is that a connect() happens behind the scenes.
As QObject::connect takes a pointer-to-const, singleShot should
do that as well.
Change-Id: I36433c723441294b2088b23f0c37724ab43d9503
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Giuseppe D'Angelo [Tue, 18 Sep 2012 21:41:59 +0000 (22:41 +0100)]
Remove qUpperBound usages from qtbase
Replace them with std::upper_bound; this allows for deprecation of
qUpperBound.
Change-Id: Idef01d2228b9a70eee3d52931d7aedb5bb6ba902
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Giuseppe D'Angelo [Tue, 18 Sep 2012 21:41:59 +0000 (22:41 +0100)]
Remove qLowerBound usages from qtbase
Replace them with std::lower_bound; this allows for deprecation of
qLowerBound.
Change-Id: I536e7338eb85ea6c7c1a5bf23121292767927e0b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Kai Koehne [Wed, 19 Sep 2012 10:08:56 +0000 (12:08 +0200)]
configure.exe: Improve help output
Add line breaks where it's looking awkward in cmd.exe , and new lines
where needed. Also adapt some descriptions to the configure shell script
output.
Change-Id: Ie784e715f51f7ff692ee85f7c960dc4583b65b23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Kai Koehne [Wed, 19 Sep 2012 09:42:44 +0000 (11:42 +0200)]
Fix configure.exe output
Fix help output for -no-fontconfig, introduced in commit
1838a6c2.
Change-Id: I686000d51c56fde56179dcebef31b0783c0dfc29
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Sergio Ahumada [Tue, 18 Sep 2012 22:31:08 +0000 (00:31 +0200)]
sql: Include own headers first
cpp files should include their own headers first (but below config.h)
Change-Id: I225bc0f09988167ae7f938f7f21a77d05a3d191b
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Geir Vattekar [Fri, 7 Sep 2012 09:58:34 +0000 (11:58 +0200)]
Doc: Use QStyledItemDelegate and frameless spinboxes in spinbox delegate example
Task-number: QTBUG-18847
Change-Id: I5347a1028b6f45a60e43fb75f6d362efecb6880b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Marius Bugge Monsen <marius@cutehacks.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Gabriel de Dietrich [Tue, 18 Sep 2012 14:24:00 +0000 (16:24 +0200)]
Fix tab navigation in windowflags example
Change-Id: Ia0e3087ea60262546cd1a21614591ad3626469d3
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Gabriel de Dietrich [Fri, 6 Jul 2012 14:26:52 +0000 (16:26 +0200)]
Introducing NoDropShadowWindowHint window flag
Added suppport on QCocoaWindow.
Also we deprecate WA_MacNoShadow since it isn't used anywhere, and updated
the 'windowflags' example app.
Change-Id: Id0b453ba15a23b768b0615838597bca139f507ad
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Oswald Buddenhagen [Mon, 17 Sep 2012 19:18:10 +0000 (21:18 +0200)]
fix non-bootstrapped $$system()'s line end conversions on windows
Change-Id: I026da1312bc28619dc7aa5974b7f4c00710517ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Kai Koehne [Mon, 17 Sep 2012 09:15:29 +0000 (11:15 +0200)]
Core: Fix gcc warning about signed/unsigned integer comparison
Fix warning: 'comparison between signed and unsigned integer expressions'
Change-Id: I5ce2857115137f9a06eddc74fda55ae49e37d345
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Kai Koehne [Mon, 17 Sep 2012 10:49:48 +0000 (12:49 +0200)]
Network: Fix mingw-gcc warning
Fix warning: missing braces around initializer for 'BYTE [6] {aka unsigned char [6]}'
Change-Id: Ic247ff0721955c4562ed027fad7cb3786809a840
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Kai Koehne [Mon, 17 Sep 2012 10:10:00 +0000 (12:10 +0200)]
Network: Fix gcc warning about qDebug format
Fix gcc warnings: 'unknown conversion type character 'l' in format' , and
'too many arguments for format'.
Change-Id: Ic7547a5bd5ba0d4c9f115004f250a0f7d3b378cb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jonathan Liu [Tue, 18 Sep 2012 11:00:16 +0000 (21:00 +1000)]
QElapsedTimer: Fix typo in restart() documentation
Change-Id: Iac5df9edbe16ec841f783bc5266091a6e34e9cab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Miikka Heikkinen [Thu, 13 Sep 2012 09:14:13 +0000 (12:14 +0300)]
Fix mapping to/from global coordinates for child/embedded windows.
QWidget's mapToGlobal() and mapFromGlobal() functions assumed that
if the widget reports it's a window or if it has no parent widget, it
must be a top level window whose coordinates are in global coordinates.
This is not true for child QWindows or embedded native windows
(QAxWidgets).
Changed the logic for mapping coordinates to use equivalent methods
from QWindow if widget has a window handle, and changed QWindow's
methods to map coordinates using native methods if window is embedded.
Also fixed newly failing accessibility autotest. The geometry related
failures there popped up because now the position of the rect returned
by accessible interface is actually correct while widget geometry still
reports position 0,0 before widget has shown up.
Task-number: QTBUG-26436
Change-Id: I658fafd0ce01eb1604ba255efeeba3073ca0189f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Shawn Rutledge [Wed, 5 Sep 2012 11:44:44 +0000 (13:44 +0200)]
X11 (xcb) support for QScreen-per-output and runtime changes
QScreen has notifiers for its properties, but they were not being
emitted when one changes the resolution or arrangement of individual
outputs, e.g. via xrandr. Also there should be one QScreen per
"output", e.g. laptop LCD + external monitor means 2 QScreens
which will be siblings, rather than just 1 QScreen to represent
the whole desktop.
Change-Id: Ia61bbc5e6a3506f813ab11f87c03d14cf7f4ce85
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Richard Moore [Tue, 11 Sep 2012 21:49:55 +0000 (22:49 +0100)]
Disable SSL compression by default.
Disable SSL compression by default since this appears to be the a likely
cause of the currently hyped CRIME attack.
Change-Id: I515fcc46f5199acf938e9e880a4345f2d405b2a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Thiago Macieira [Tue, 11 Sep 2012 13:36:54 +0000 (15:36 +0200)]
Fix thread-safety of qt_ignore_sigpipe
The testAndSet operation would mean another thread could see the value
of 1 and proceed to write(2)/sendto(2) before SIGPIPE had been ignored.
If the pipe or socket were already closed by then, a SIGPIPE would be
delivered to the application with its default action: terminate.
Change-Id: I62dc8f5fa14c1dd453d13e4053c642bd78fbc468
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Oswald Buddenhagen [Mon, 3 Sep 2012 18:57:59 +0000 (20:57 +0200)]
don't allow overloading of built-in functions
the functions are not versioned or scoped, so user-defined overloads would
mess up qmake's own feature files. it seems safer to break user projects
than to allow the user to break qmake.
Change-Id: I020a2e6416bbb6e2fd2ece339629d848c00c8398
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Oswald Buddenhagen [Mon, 3 Sep 2012 15:05:33 +0000 (17:05 +0200)]
remove the entirely insane whitespace compression
it was merely an artifact of using QString::simplified() on the
unparsed (!) project code. there is no reason why anyone should actually
rely on it, so just remove it.
Change-Id: If9b957c4b1263f3990a2331f8851bb1c06154ea8
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Yuchen Deng [Mon, 17 Sep 2012 23:33:03 +0000 (07:33 +0800)]
Build tools in release mode if using -debug-and-release option
Change-Id: I1d4b69e6954526b4f999e248f4f2cde6a9da26cd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Samuel Rødal [Mon, 17 Sep 2012 15:18:58 +0000 (17:18 +0200)]
Prevent buffer overflow in QXcbWindow.
Thanks to Janne Kulmala for noticing this and informing about the fix.
Task-number: QTBUG-27123
Change-Id: Idd3cfd74fb7be277b6d805446aea5784b8fdf2f6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Jan-Arve Saether [Tue, 11 Sep 2012 11:16:27 +0000 (13:16 +0200)]
Make qdoc read multiline macros in files with CRLF endings
This caused qdoc for instance to not being able to parse qglobal.h
correctly. (On windows, it stopped to parse anything meaningful after
the line with this macro:)
#define Q_INIT_RESOURCE_EXTERN(name) \
extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) ();
It worked on linux just because on linux a line continuation 'token' is
the sequence "\\\n" (on windows it is "\\\r\n")
So for files with CRLF line endings, it treated *only* the first line
as a macro, potentially causing the subsequent lines to affect the
state of the tokenizer.
Change-Id: If7c80ee7eb317f2d324ace7ff540ced7c31185dc
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 15:10:27 +0000 (17:10 +0200)]
fix QMAKE_MANIFEST for shadow builds
Change-Id: Iea71f4a4d483e9465b3a7f0ce4560b2e9fa6cd63
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 15:29:13 +0000 (17:29 +0200)]
properly C-quote the manifest file name in the rc file
Change-Id: I8c8eb85d412becc8c4029c2aa393abf6f8e949b6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Fri, 14 Sep 2012 15:19:38 +0000 (17:19 +0200)]
rewrite *_manifest.rc unconditionally
the file has no dependency tracking, so changes to the source would get
missed and cause hard to debug build issues.
and as nothing does dependency tracking on that file, this change
doesn't even cause a noticable performance regression.
Change-Id: I108b490b71a43018e0c7ef5d7c0b11d79a8e726b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 16:13:13 +0000 (18:13 +0200)]
factor out qtAddToolEnv()
so it's available for other users as well
Change-Id: I2d5a14ae427575c07321ac532b13ee03308b837f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Oswald Buddenhagen [Thu, 13 Sep 2012 15:34:35 +0000 (17:34 +0200)]
remove 3rd parameter from qtPrepareTool()
it's been superseded by the QTTOOL.* module stuff.
Change-Id: I01c9fc3ebbb22111bfb03f82693c7cf08b5fc9d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
John Peterson [Mon, 17 Sep 2012 19:59:22 +0000 (21:59 +0200)]
define QT_OPEN_LARGEFILE
it must be defined, even if zero
Task-number: QTBUG-27232
Change-Id: I950ef61ede197af9c2d8aedddd712cc6d4cc745b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Frederik Gladhorn [Wed, 5 Sep 2012 14:05:33 +0000 (16:05 +0200)]
Add Q_PRINTSUPPORT_EXPORT to qdoc ignores.
Change-Id: I0b8676a14133baf818ec12cda77dcb0670b5ee85
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Thiago Macieira [Wed, 29 Aug 2012 10:09:31 +0000 (12:09 +0200)]
Let qVersion() be extern "C" if this is not a namespace build
This allows one to even dlopen() QtCore and call qVersion, to figure
out which version it is. A bit crazy, but someone might want to do it.
Change-Id: I932460515d07bed3f0e41c8ab2b46fc268ca73ff
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Tomasz Duda [Thu, 6 Sep 2012 20:15:26 +0000 (22:15 +0200)]
HTTP header may be damaged - fix, unit test
"HTTP/1.1 100 CONTINUE\r\n"
If the header from a server is splitted between two packets
the first packet contains "HTTP/1.1 100" and the second one
contains " CONTINUE\r\n", one space (0x20) is skipped. After
processing the line looks in this way "HTTP/1.1 100CONTINUE".
QHttpNetworkReplyPrivate::readStatus(QAbstractSocket *socket)
is called twice, if a http header is splitted as above.
The function always removes whitespace from the beginning of a packet,
even if it is the second part of a http header.
QHttpNetworkReply returns QNetworkReply::RemoteHostClosedError
due to damaged http header during processing.
Improvement of unit test.
Task-number: QTBUG-27161
Change-Id: Ifc2949f62473209b4032185effbf5078b4130cda
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Sergio Ahumada [Sat, 15 Sep 2012 11:46:14 +0000 (13:46 +0200)]
examples: Mark ctor's as explicit
Make C++ class constructors that can be used with only one
required argument 'explicit' to minimize wrong use of the class.
Change-Id: Ida9f9c2f0c8608c35b0137b2512a6747afd69515
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>