Commit Graph

9299 Commits

Author SHA1 Message Date
Mark Brand
4131bfb2c2 make QSqlResultPrivate::fieldSerial() virtual
The Qt psql driver has its own implementation of fieldSerial() it uses
when it invokes positionalToNamedBinding() to generate a query using
its native naming style. Now that QPSQLResultPrivate is derived from
QSqlResultPrivate this can be implemented more conventionally using
a virtual function instead of pointers to static functions.

Note that this change preserves the current behavior of
executedQuery() which will continue to return the query with
positional syntax that is presented to virtual prepare() by
QSqlResult::savePrepare(). Since the driver does not have the
NamedPlaceholders feature, QSqlResult::savePrepare() will not use
positionaltoNamedBinding() to set executedQuery. Although
QPSQLResult::prepare() calls positionaltoNamedBinding(),
it does not put the result into executedQuery.

Change-Id: I7740f386cbfec9eadd9e4d6a7df3e590294655a5
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-04-02 14:31:47 +02:00
Mark Brand
db6190d6fe QPSQLResultPrivate inherit QSqlResultPrivate
Follow the usual pattern that a subclass's private class inherits
its base classes's private class. This will allow the private class
to use virtual functions.

Change-Id: Iafdf1cb5db672d973ad1f60bdd7e37b9072fbb1b
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-04-02 14:31:44 +02:00
Mark Brand
7565f6fe0a QPSQLResultPrivate: do not duplicate reference to private driver
The "private driver" is already known, so don't keep an extra reference
to it.

Change-Id: I34ec4108694bfbc3da3107f79598ae50a699911c
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-04-02 14:31:40 +02:00
hjk
6361227846 Reduce the likelihood of underflows in qFuzzyCompare
As indicated in the discussion of the bug report, this
does not address the real problem but only reduces the
frequency it occurs.

Task-number: QTBUG-26453
Change-Id: I20ac3f41f52effb674bee6924ccdfd2f641576ef
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-02 14:10:54 +02:00
Gunnar Sletta
35a51de5b4 Let EglFS pick up a platform input context if installed
Change-Id: Ia3765997682f8f90c7f7da712527beea365e01ed
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-04-02 08:29:43 +02:00
Thiago Macieira
620f911fd8 Update the QMetaMethod::tag() documentation due to moc expanding macros
Since 34a3b63dc7 (Qt 5.0), moc expands
macros to their defined values. This broke the example of tagging a
method: in Qt 4, it never expanded anything, so the tag was always
visible and extracted. Now it's necessary to avoid defining it to empty
when moc is run.

Change-Id: I89967f7f993cf8e14119b086f4dd5573b348646d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 21:33:29 +02:00
Giuseppe D'Angelo
11ad8c8bd9 Upgrade the PCRE import script to 8.32
Notably, SPARC JIT was added. Also, sort the entries alphabetically...

Change-Id: I78ab4ea2f30a31592d870ce07d35e318135a14bd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 21:33:29 +02:00
Giuseppe D'Angelo
bb5552a229 Upgrade the bundled PCRE to 8.32
Changelog: http://pcre.org/changelog.txt

Amongst other things, the Unicode tables were upgraded to 6.2.0
and case folding support was added, which also fixes a QString
autotest (marked as XFAIL).

Qt still requires 8.30, not 8.32.

Change-Id: I4056c1dc1d949d33443bb8ca280de4c8c363ac74
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 21:33:29 +02:00
Mark Brand
3499940289 update bundled sqlite to 3.7.16.1
Change-Id: Ia7d73d44c1e7707e81c022268b3a6df6d85703a5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 21:33:29 +02:00
Konstantin Ritt
03875c0ba5 Fix reporting writing systems for non-TrueType fonts
According to EnumFontFamExProc docs:
> The ENUMLOGFONTEX structure includes the localized name
> of the script (character set).

lfCharSet ENUMLOGFONT's member must be used instead of comparing
these names to non-localized ones.

Also, when the font supports more than a single charset,
EnumFontFamExProc callback is called for it once per charset; thus,
we shouldn't "unsupport" writing systems in a subsequent call.

Task-number: QTBUG-30448

Change-Id: I58fcf32958490cf5a3e873db8335e71a39a9c518
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 21:33:29 +02:00
Alan Alpert
22cd698e39 Document Q_REVISION macro better
Previously it was only mentioned in properties.qdoc

Task-number: QTBUG-18802
Change-Id: Iab23128c1567974154cdcce7412b2e1468bb846a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-04-01 19:30:28 +02:00
Konstantin Ritt
6845a4fb01 Update bundled FreeType sources to 2.3.12
Most important changes:
* SFNT cmap 13 table format support;
* fixed glitches when rasterizing stretched TTF (xsize!=ysize);
* various fixes in Type1, CFF, and PCF drivers

Change-Id: Ib9e2210ffbd0daa2fdbf518ea87f4be502de6b48
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 12:03:55 +02:00
Konstantin Ritt
0fcadcca3d QFontConfigDatabase: fix fallbacksForFamily() for CJK languages
For Han Unicode script, the language couldn't be determined algorithmically,
the only way is guessing based on the user's locale.

The is a regression introduced in 9b0fab6b62

Change-Id: I84645885a825fdfb6c268edaf10185bf5e447eb5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 12:03:55 +02:00
Konstantin Ritt
f0af3ed4e5 Update QLocale data to CLDRv23
Say hello to Interlingua and Mongolian once again.

Change-Id: I735fbc5793f34620be1f6932a251224b9ded02e3
Reviewed-by: Denis Dzyubenko <denis@ddenis.info>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-04-01 12:03:55 +02:00
Jens Bache-Wiig
59b2a85654 Fix tickmark painting on Fusion style
The problem seems to be that Fusion assumed that tickmarckoffset was
a fixed size, which probably changed when we moved the inheritance
from Windows to CommonStyle. I also had to modify the paint order

Task-number: QTBUG-30294
Change-Id: Ie7320c39fd572d39b641b6bd5a9db05f494f6b74
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-04-01 10:00:58 +02:00
Marc Mutz
5fcb438e7b Publish qEnvironmentVariableIs{Set,Empty}()
Change-Id: I81b960495c206024b4124cebf88b48b0c0d73619
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-30 13:41:59 +01:00
El Mehdi Fekari
2523f20c61 Fix typos in QBBSystemLocaleData
Change-Id: Ic893cdf4a274af660fae7f39011851318f0d244b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-30 10:50:40 +01:00
Gatis Paeglis
21c23ca539 Remove unused header file.
As Thomas Senyk found out, the compose input context
plugin had a redundant include for the X11 keysym header file.

Change-Id: Iad603b545803867d02d915acffe27991bb0b7ee4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-30 08:49:36 +01:00
Konstantin Ritt
bc4dcb6994 QLocale: Report textDirection() by looking to the locale script
Change-Id: Ic562b0301271ba414d5d3ff75a308d84bd288f56
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-30 08:23:04 +01:00
Gabriel de Dietrich
6c10f5203b Mac style: Fix disabled menu item palette entry
Also, removed an "magic color" form the style implementation.

Change-Id: Iefd3ddc0d9d651d2b87f20eb1f9990a214b651df
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-29 13:06:40 +01:00
Morten Johan Sørvig
fc8759064c Make qt_setDockMenu work and call it.
The application delegate code from Qt 4 implements
a non-working qt_setDockMenu. Correct the signature
of the applicationDockMenu method.

Change-Id: I6f531a78f91e0550b0e66cc4f2fa072006a030f4
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-29 13:06:40 +01:00
Morten Johan Sørvig
c0065187d7 Remove QMacQuartzPaintDevice.
Not used in Qt 5.

Change-Id: Ia0e14414afa524c5cc04151d20c168d93d8dcadb
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-29 13:06:40 +01:00
Morten Johan Sørvig
7b9d45311c Fix missing devicePixelRatio propagation on copy.
Change-Id: I0cb541fe8a92b7a7c159e0a6e5036baf43185a93
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-29 09:47:32 +01:00
Topi Reinio
0d98a67424 Doc: Document Q_OS_WIN* macros
Fix the documentation for Q_OS_WIN32 and document Q_OS_WIN64 and
Q_OS_WIN.

Task-number: QTBUG-23120
Change-Id: Ie040c8deb6aeba326b6fafab302fadf4d93fa49f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
2013-03-29 09:47:32 +01:00
Venu
edcfbebe98 Doc: Replaced canConvert() with canConvert(int)
This change makes the function reference more
relevant to the example being discussed.

Task-number: QTBUG-28204

Change-Id: I50bea45f1e11d7e1eef4bc6726ebb329151fbc3d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-29 07:36:48 +01:00
David Faure
5a5a09289f QEventLoop: fix race on 'exit' and 'returnCode' private members
Change-Id: I380046f386448783e3e4e93bde8cbe15b9b0279e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-29 04:04:40 +01:00
Marc Mutz
2f531d8db3 QWidget: micro-optimisation
Compare string size before content.

Change-Id: I00f9c6c6cf31148af4807455fa6f6b9254dda9d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-29 04:04:40 +01:00
Marc Mutz
c400e16a58 QMetaTypeId: use QByteArray, not QVarLengthArray, to construct type names
So far, type-name strings for class template instantiations were constructed
in QMetaTypeId::qt_metatype_id() by concatenating various bits and pieces
into a QVarLengthArray<char>, presumably to avoid the dynamic memory
allocation for small strings.

Yet, when passing the result to qRegisterNormalisedMetaType, which takes
a QByteArray, the QVarLengthArray was copied from, not by
QByteArray::fromRawData(), but by QByteArray(const char*,int), which
unconditionally results in a dynamic memory allocation after all.

What's worse: the characters are copied twice: First into the QVarLengthArray,
and then into the QByteArray.

Remove the first of these copies by using QByteArray+reserve() to copy
directly into the final QByteArray.

Change-Id: Id915798a318fe97279a7cc0aca176544f99c7e86
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-29 04:04:40 +01:00
Morten Johan Sørvig
04ebd8e56f Load "@2x" images on high-dpi "retina" systems.
Check for the existence of a "@2x" file when adding
an image to QIcon. For example, adding "foo.png" will
also add "foo@2x.png" if that file exists.

Change-Id: If32a3446cf56ca0828de17f6a361091e4c874f26
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-28 22:21:07 +01:00
Thorbjørn Martsum
f4c8fb6b39 QTreeView - improve ItemNeverHasChildren slightly
QTreeViewPrivate has a private function hasVisibleChildren that
returns if an index has visual children. This can (and should)
check the ItemNeverHasChildren flag.

That will likely be an performance improvement and it will ensure
consistent behavior in error-situations. (The flag will then always
overrule even if the model is inconsistent)

Change-Id: Ied37daf56c39daccea1cb4f5cc555d5cdbc7d971
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-28 14:42:15 +01:00
Morten Johan Sørvig
ebde672032 Support high-dpi pixmaps.
When Qt::AA_UseHighDPIImages is set images and pixmaps
may be of the high-dpi type.

Account for this when calculating layout sizes by
dividing by devicePixelRatio() to go from device pixels
to device-independent pixels.

Change-Id: I977a86789f9097ebc3c3704ae76e9706f2cb79d8
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-28 14:42:15 +01:00
Morten Johan Sørvig
4ecd6bc560 Support high-dpi pixmaps and images.
When Qt::AA_UseHighDPIImages is set images and pixmaps
may be of the high-dpi type.

Account for this when calculating layout sizes dividing
by devicePixelRatio() to go from device pixels to
device-independent pixels.

Change-Id: I8aa3d2ee947635ce2a49fff9e0029c9f55ae6c09
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-28 14:42:15 +01:00
Gabriel de Dietrich
8aed635640 Mac style: Fix scaled clipping regions on retina displays
Task-number: QTBUG-30311

Change-Id: Ic91fc6b2787a035292917c39d26b578dde0a6346
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-28 14:42:15 +01:00
Morten Johan Sørvig
c7cca2dd74 Make QMacStyle paint right side up again.
491dcbfac8 accidentally removed the y-axis inversion
for the widget case. Move it back to the common
code path.

Change-Id: Ie6bbe6f442ca342347af77071da3a743b5655159
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-28 08:04:38 +01:00
Frederik Gladhorn
8d009b38c8 FileDialogs: Set shortcuts for navigation buttons.
Change-Id: If2ad1af096787e3e1dc424c096566f382ba7a3b5
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-27 17:16:37 +01:00
Gabriel de Dietrich
bbfbf9d24c Mac style: Remove suspicious assignment
Change-Id: I070eeb27b1630331afd7f4f02aadf97f6ea2bf97
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-27 17:16:37 +01:00
Gabriel de Dietrich
4ea11e82ec QCocoaScreen: Properly align secondary screens w.r.t. primary screen
When using different resolution screens, one can arrange them around
the primary screen. However, the vertical offset has to take into account
the fact that NSScreen origin is bottom-left, whereas QScreen origin is
top-left. This usualy impacts the geometry's y coordinate, and can result
in popups showing in the wrong screen.

Task-number: QTBUG-30348
Change-Id: I159e6be2b590bd2d9a31f3f36c3785afcc62123e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-03-27 17:16:37 +01:00
Stephen Kelly
ec37cdbc80 Populate includes, defines and pic flags in target interfaces.
Used by features in CMake 2.8.11.

This matches the features in FindQt4 in that version of CMake,
namely that the IMPORTED targets contain the appropriate
INTERFACE_INCLUDE_DIRECTORIES and INTERFACE_COMPILE_DEFINITIONS
and that the qtmain.lib static library is automatically linked to
on Windows by executables. Additionally, the
INTERFACE_POSITION_INDEPENDENT_CODE property is set appropriately
if Qt requires users to use position independent code.

Change-Id: Ide341f43fcaf7d722a7bdf1a12b1071c7e548ccc
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-27 14:54:49 +01:00
Venu
70115a8107 Doc: Corrected a typo in the constructor documentation.
Task-number: QTBUG-30162

Change-Id: I2db9ae7b5bab82cf4b65dc35bcb904ffbfb9e115
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-03-27 13:24:44 +01:00
Friedemann Kleint
28881a91f0 Add qDebug() output for QTouchEvent.
Task-number: QTBUG-29946
Task-number: QTBUG-29254

Change-Id: I9371954caf4166041239684e90c09b12038065d3
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-03-27 13:19:59 +01:00
Sergio Ahumada
7322fe27e1 qdoc: Use 'org.qt-project.' prefix in namespace
Standarize the qdoc namespace to match all the others configurations.

Change-Id: I364d41f20084b77ab3805e72c870147c05da1d42
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-27 10:20:38 +01:00
Montel Laurent
12d8432c69 Fix infinit loop
Change-Id: Ie1edfeae72e033b14e16cc4c5c9e388f11be1627
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-27 08:11:57 +01:00
Morten Johan Sørvig
d616915b0a Support high-dpi images.
When Qt::AA_UseHighDPIImages is set images and pixmaps
may be of the high-dpi type.

Account for this when calculating layout sizes by
clamping the size or dividing by devicePixelRatio()
to go from device pixels to device-independent pixels.

Change-Id: I7b7f4c36ebd83d72ecdf6fbe0ae20e20ed6540bb
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-26 21:44:15 +01:00
Morten Johan Sørvig
491dcbfac8 Cocoa: Make retina desktop components work.
Scale non-widget paint devices as well.

Change-Id: Ic68fb166058e9b162f8baeab81196ee254f30b2e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-26 21:44:15 +01:00
Michael Brasser
bb4e2e4faf Allow tslib to be specified at configure time.
Change-Id: I0ebf0eeea7e6a0b8136fb805f34f04082bc58c5e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-26 21:44:15 +01:00
Thiago Macieira
bafd3fdf1c Make the inline CPU detection functions also static
Since qCpuHasFeature() checks the static qCompilerCpuFeatures variable
and that variable's value might change depending on the compiler flags,
it's best to ensure that the function is not subject to link-time
merging. That would be bad if it happened when qCpuHasFeature() was used
from a file with higher CPU compiler settings than the default, as it
would incorrectly conclude that certain features are always available.

Change-Id: I8bacde056fb89869ec1d306a163742e72522315e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-03-26 21:44:15 +01:00
Morten Johan Sørvig
03d057ff01 Cocoa: Make touch events work again.
Bring back the ref-counted enable on enter/leave
workaround we had in Qt 4: If any widget in a
window sets WA_AcceptTouchEvents then that window
will start processing touch events.

Enabling touch events has implications for delivery
of other events, for example by causing scrolling
event lag.

Change-Id: I307488937f417612eff624bf9892b82a7f69c1b7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-26 19:22:01 +01:00
Morten Johan Sørvig
b2c73c73cd Cocoa: Correct enter/leave event handling.
Make top-level windows generate enter/leave events
for sub-windows. Keep track of the current "under mouse"
window in mouseMoved and send EnterLeave events when
it changes.

mouseEntered/mouseExited handles enters and leaves
from the top-level window.

Add tests/manual/cocoa/nativewidgets.

Task-number: QTBUG-27550
Task-number: QTBUG-29751

Change-Id: If4b9f9e0f39d9fb05fdab45a100ffdcf107965ad
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-26 19:21:38 +01:00
Konstantin Ritt
a2fc37044c Fix font stretching issue
We're treating fontDef.pixelSize as a box height everywhere but in
harfbuzzFont initialization code the logic was opposite.

Change-Id: I4eecf7861a6084c7f2dbe1df85a71f2e251da845
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-26 19:14:16 +01:00
El Mehdi Fekari
f1d8987b82 Fix a bug in QSystemLocale on BB10
Call qt_safe_open in the constructor
to avoid opening the pps files several times.

Change-Id: I1bf79284850353a47ee1fc17797cd667536e17b1
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-03-26 18:58:29 +01:00
Rafael Roquetto
6131f79e4e QNX: Code cleanup: normalize 'if' macro usage
Always use "if defined" instead of "ifdef". The same is valid for
"ifndef" macros

Change-Id: I8e8f65e36dc636c10b3d656ce9a89ab3a664a80b
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-03-26 18:55:11 +01:00
Rafael Roquetto
17159b4500 QLocaleBlackberry - fix include statements
Change-Id: Ifb5678094806e4aab19015d3a600217b4cf9ac5f
Reviewed-by: David Faure <david.faure@kdab.com>
2013-03-26 18:54:42 +01:00
Sérgio Martins
7810ba17bc Fix documentation of QFileSystemModel::resolveSymlinks().
It's Windows only, and it defaults to true.

Change-Id: I82badbcae0fdba589b57a7dfe627b99ec6cc92c5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-26 18:33:30 +01:00
Eskil Abrahamsen Blomfeldt
244cc5da55 FontConfig: Correctly report Symbol writing system support
When all the Q_WS_X11 were removed, we also removed the special
case for symbol fonts in QFontDatabase for FontConfig. This
was checkSymbolFont() in Qt 4, and this patch copies the
code and adapts it to Qt 5.

Task-number: QTBUG-30044
Change-Id: I346f208052013eae9de3c33c210bf5db1d2aef87
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-03-26 18:04:50 +01:00
Konstantin Ritt
46f3543aac Fix handling of 0x00AD code with symbol fonts (Win/QPA/QPF/fallback)
...by updating HB_Face::isSymbolFont value to make HB know that the font is a symbol font.
U+00AD is a Unicode soft hyphen character, which shouldn't be threated
like a default ignorable (invisible) when 0x00AD occurred in a symbol font.

Change-Id: Idd4760aded644f7f11a1a8d3c03c348abc69a3e4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-26 18:04:11 +01:00
Stephen Kelly
ea1b1efbc1 Revert "Don't duplicate the 'top-level' include dir in all modules."
This will likely fix some odd cmake related tests in the CI.

This reverts commit 316d8ececa.

Conflicts:
	mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
	src/corelib/Qt5CoreConfigExtras.cmake.in

Change-Id: Ib7714746f96bf12061d92242a42296d200c56c00
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-03-26 13:07:14 +01:00
Stephen Kelly
f8bf0081d2 Document undefined behavior regarding Qt::ItemNeverHasChildren.
Change-Id: I4c044b206ad6dd57f11d791d8a6a6f3f931acf4f
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-26 10:18:02 +01:00
Martin Smith
771a254d3c qdoc: Show signals inherited from abstract base types
qdoc was not including QML signals in the documentation
for a QML type, when the signals were inherited from a
QML type that had been marked abstract. This is now fixed.

Additionally, the QML type qualifier is not shown in the
header for the documentation for a member of a QML type.
The type qualifier was redundant information, and it was
incorrect for members inherited from abstract base types.

Task-number: QTBUG-30111
Change-Id: I73aef40f69a15bca6948bf36596b83800d248b1f
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-26 10:18:02 +01:00
Friedemann Kleint
787aa7a2a8 Revert "qclass_lib_map.h: Fix include of the QDeclarativeView widget."
This reverts commit 7b655eef48.

QDeclarativeView is back in QDeclarative.

Task-number: QTBUG-25196
Change-Id: Ibe40e790c98b5129bbd844924f71cf3ca0202b5f
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-03-26 09:49:22 +01:00
Oswald Buddenhagen
b51c9d689d qt.conf: default LibraryExecutables to bin/ on windows
this matches the platform-specific configure default.

as a "side effect", this fixes the in-builddir execution of webkit
examples, as the non-installed qmake now agrees with QLibraryInfo about
the location of QWebProcess.exe.

Task-number: QTBUG-30322
Change-Id: Id28f2c246e4bfda6d5f4d719a66a16f24bb7cdb7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
2013-03-26 09:49:22 +01:00
Friedemann Kleint
11e9f1368b Windows: Fix reported screen metrics.
A call to SetProcessDPIAware() is required in some cases.

Task-number: QTBUG-30063
Change-Id: Iba0203d76c8e7068bf9fd4581770c1aca76a4708
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-03-26 09:49:22 +01:00
Cyril Oblikov
e90ce866fa Fixed shortcuts for some (e.g. Russian) layouts
If CMD modificator is active [nsevent characters] is used now to get
keyCode. In this case for example English "X" is returned instead of
Russian "Ч" even if Russian input source is selected.

Task-number:  QTBUG-30306

Change-Id: I93cd292633e68327df0c580ed74fe8ad1c9ed27d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-03-26 07:31:12 +01:00
Morten Johan Sørvig
badbb6fdd2 Make QGraphicsScene::touchEventhandler ignore unhandled touch events
This was not done in Qt 4 to play well with the QGesture
implementation, and may need to be revisited if/when we
bring back QGesture for Qt 5.

Change-Id: I4f5f6c8a67387039e838d1ef42ecc70c455ed8a3
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-26 07:28:24 +01:00
Morten Johan Sørvig
c5323959d7 Set screen position when generating synthetic mouse events from touch
QGraphicsView uses QMouseEvent::globalPos(), so we need to set
it when synthesizing mouse events in QApplication.

Change-Id: I8341e09fdd41400c5c5e1d0ee17c7323efdafaeb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-26 07:27:26 +01:00
Thiago Macieira
470f92167f Silence warning by Apple Clang 4.2 about adding an integer to a string
It gives a good suggestion on what to do and even shows us how to do
it.

doc.cpp:2681:34: error: adding 'int' to a string does not append to the string [-Werror,-Wstring-plus-int]
            result += "        " + (column % tabSize);
                      ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
doc.cpp:2681:34: note: use array indexing to silence this warning
            result += "        " + (column % tabSize);
                                 ^
                      &          [                   ]

Change-Id: Idd2157ab04cd2a3e37a1336bb5e8926ddc14823a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-03-26 05:06:17 +01:00
Peter Hartmann
ffe45f1896 QNonContiguousByteDevice: roll back complete internal state in reset()
... otherwise we would not start reading from the beginning when the
device was reset.

Change-Id: Ida196eb40790fba56ff2eed782fd93a3015222f9
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-03-25 20:50:26 +01:00
Topi Reinio
3eafd2e7d8 Doc: Fix typo in the property system documentation
priorty -> priority

Task-number: QTBUG-28756
Change-Id: I79138f49db78ee6d1b96e44585ae4c1565920b18
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-03-25 11:06:25 +01:00
Friedemann Kleint
23051ff7ec Clean up touch window registration.
Stop processing for Qt::Desktop windows (which caused
RegisterTouchWindow() to fail with access denied) and set a
flag to cleanly unregister.

Change-Id: I3d10c93ec92536d3ab1c0503f088c40b0c08a01f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-03-25 10:42:01 +01:00
David Faure
a6e5ccbe22 QMdi: Don't emit subWindowActivated during StyleChange handling.
The handling of StyleChange de-maximizes the child window temporarily,
which was emitting subWindowActivated.
This would crash lokalize, because deactivating a window means deleting
the widgets associated with it, and style-change handling is done in
QApplication by looping over QApplication::allWidgets, which would then
contain dangling pointers.

Full valgrind log at https://bugs.kde.org/show_bug.cgi?id=271494#c7

Change-Id: Ifb24032cde2cd470dcae7cd553ec5ab45a919dd6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-25 10:37:37 +01:00
Shawn Rutledge
5c6b2ede3b OSX: WindowTransparentForInput QNSView pass events to next responder
The default implementation (in the super class) passes the event
to the next responder.  This seems to be one valid way to handle
the Qt::WindowTransparentForInput flag.  So if a non-alien widget
for which a native NSView is created has the flag
WA_TransparentForMouseEvents, that means the window will have
Qt::WindowTransparentForInput, and the NSView which is created
on its behalf will pass on each event so that other NSViews have
a chance to handle it.  (It will also try to reject becoming
first responder, but that doesn't seem to be enough for the following
events to be passed on.)  This is a followup to
I979be9f72f7d225d7b960fc5db4c3956d2749982 which purported to
obey the WindowTransparentForInput flag, but actually doesn't.

Change-Id: Ia72a3573c2e3cbfa7ede70bee41ac36df6924598
Task-number: QTBUG-28816
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-24 18:00:44 +01:00
Peter Hartmann
795468bdc6 QHttpMultipart: reset read pointer when device is reset
... otherwise we would not read from the beginning when trying to
read again. The device is reset when we try to resend a request
(e.g. remote host closed etc.).

Change-Id: I21d3647dd0e00ae8bc2507f08166234f21f88861
Reviewed-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-03-24 13:56:32 +01:00
Peter Hartmann
804a067846 QNonContiguousByteDevice: reset() instead of seek() if possible
... because e.g. QHttpMultiPartIODevice does not implement seek at all
(QTBUG-30295), which would make resetting such a device fail.

Change-Id: I0a9c0f21047baa72146690bfdf638cdffab0e25f
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-03-24 13:55:58 +01:00
Morten Johan Sørvig
7b5ad88489 Guard usage of [NSApp setDockMenu].
setDockMenu is not documented an may disappear.

Closest documented replacement seems to be
[NSApplicationDelegate applicationDockMenu:]. It can't
be used as a direct replacement since it's a "virtual"
getter that the application delegate implements.

Change-Id: Id161196018057b75cbe7d6f6d2610c0932345c5f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-24 03:42:49 +01:00
Morten Johan Sørvig
5ad615ae8c Use [NSSavePanel directoryUrl].
[NSSavePanel directory] is deprecated.

Change-Id: I3515b565a25028dc5b7c966481707e001e44a077
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-24 03:41:45 +01:00
Morten Johan Sørvig
73d4fc6219 Call [m_qtView hasMask]
hasMask is a function on QNSView, m_contentView can
be any NSView subclass.

Change-Id: I88b5acbb8aad9aa4664e0f71f37add9dfa64f1b7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-24 03:41:13 +01:00
Morten Johan Sørvig
4a1116af25 Remove unused variables in the Cocoa plugin
Change-Id: I7cdd369e2fbab02954da6ba3c05b31d93f1e7995
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-24 03:40:20 +01:00
Oswald Buddenhagen
fa62b6c73e match #ifdefs relating to arm compilation
use the same conditional around the #include as the actual code below
uses, otherwise we risk mismatches.

Change-Id: I8ca32c0178b1970928626a927948b06d4c6d31b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-24 03:24:52 +01:00
Frederik Gladhorn
206e8f67a0 Fix access to interface in QAccessibleEvent
Sometimes we get an invalid interface.
In that case the event should just return 0.
This avoids some potential crashes.

Change-Id: I9f166b5d5547dbe7f22c4756502aee811b0b80a6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-23 16:47:28 +01:00
Shawn Rutledge
f217172d6d qWaitForWindow* default timeouts are 5 seconds
A widget window can be expected to show up faster, but on a busy CI
machine, OpenGL windows can take longer than 1 second.

Change-Id: I572cc86bf4d8beebcc565db8d6f2ff78e55c2ac0
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-03-23 16:47:28 +01:00
Frederik Gladhorn
52cd53a03e Fusion Style: draw toolbar lines for non-widget apps.
Change-Id: If9415cfc05f80ba4e67d9ba6a8ebb1caaa738b84
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-23 14:42:45 +01:00
Frederik Gladhorn
5147b1d410 Accessibility: Fix crash when updating in dtor
This happens for example when running several tests.
Widgets in destructor should be treated as invalid
since their window pointer and other properties are
no longer valid.

When deleting a window containing only a table view
there would be a table model reset update comming from
the window being destroyed.

Change-Id: Ia387c814333ce373fe132b189fc180787e36cdd5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-23 14:42:45 +01:00
Mitch Curtis
a3304489e8 Ensure QTemporaryFile can create files when an identical dir exists.
When QTemporaryFile attempts to create a new file in
createFileFromTemplate, it fails if the filename exists and is a
directory. Windows returns error code 5 (ERROR_ACCESS_DENIED) in this
case - rather than ERROR_FILE_EXISTS - which is not handled.

This patch handles ERROR_ACCESS_DENIED in addition to the already
handled ERROR_FILE_EXISTS, meaning that QTemporaryFile will continue
to look for unique names when a directory with the same name exists.

Task-number: QTBUG-30058

Change-Id: I42339887d7f5483e3dc6a03a9da15111c350da8f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-23 14:42:45 +01:00
Frederik Gladhorn
fe52d1853e Accessibility: Fix crash in windowHelper
When accessing the parent, we cannot be sure
that the parent interfaces are all valid.
Invalid parents can happen during destruction.
Another cause is unusual hierarchies, the
QAbstractItemView::columnDelegate test triggers
a situation where this used to crash.

In addition to the actual problem, add
checks for every parent() call.

Change-Id: I70b2bf7bc3c02b0f33e22b81023fd24519adeba9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-23 11:48:33 +01:00
Frederik Gladhorn
6d9541ae96 Do not update accessibility for invalid interfaces
Change-Id: I8dc29ea51393406e529c76f25bf2f8cf426e26cf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-23 11:43:39 +01:00
Morten Johan Sørvig
6ec9b34cbb Make QIcon generate high-dpi pixmaps.
QIcon::pixmap() can now return pixmaps that are larger
than the requested size, This is a behavior change
that may require updating existing application code,
and is enabled by setting Qt::AA_UseHighDPIIamges.

Add new pixmap() and actualSize() overloads that take
a window pointer. For 100% correctness you want to
target pixmap generation to a specific window, in
case the system has a mix of normal and high-dpi
displays. (The non-window versions uses QGuiApplication::
devicePixelRatio(), which returns the ratio for the
"best" display on the system.)

actualSize now returns the size in device-independent
pixels - not the pixmap pixel size. This matches
its intended use case which is layout calculations.

Change-Id: I2eefc4ed4aa48b036a7019446694e56213070efa
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-23 08:32:17 +01:00
David Faure
d4adee7851 Fix race condition in QThread::setPriority
The value of priority was read without the mutex locked, from within
the thread.

Had to extract a QThreadPrivate::setPriority method so that it can be called
with the mutex already locked. So if the main thread calls setPriority
while the thread is starting, it will be either be before or after the
"re-set priority" code at thread startup, but at least not in the middle of it.

Change-Id: I7a054f68623f61482c749274da66f3b2dcd8bcee
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-23 02:06:47 +01:00
Thiago Macieira
c550a5d42c Remove unused private members
These members are in private classe, so we can safely remove them.

qpathclipper.cpp:762:9: error: private field 'm_point' is not used [-Werror,-Wunused-private-field]
qsimpledrag_p.h💯20: error: private field 'm_cursor_drop_action' is not used
etc.

Change-Id: I35ed486eb959c49bb971700500a66411308ee7bc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-23 01:56:06 +01:00
Thiago Macieira
336eac0896 Remove unused private fields in a class used for anti-flicker workaround
qwizard.cpp:510:14: error: private field 'wizard' is not used [-Werror,-Wunused-private-field]
qwizard.cpp:511:21: error: private field 'wizardPrivate' is not used [-Werror,-Wunused-private-field]

Field "wizard" was really unused, in all platforms, so simply remove
it. The field "wizardPrivate" is used when the Windows Vista style is
enabled.

Change-Id: I1ce254f484b613655bff7f6c3ee8e04479960d7c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-23 01:56:00 +01:00
Thiago Macieira
caffabc798 Mark Q_UNUSED the private members that aren't used
Apple Clang 4.2 has a new warning, letting you know when a private
member isn't used by any member function (and, I guess, if the class
has no friends):

  private field 'd' is not used [-Werror,-Wunused-private-field]

Qt has a few of those for future expansion. It's not an error for us.

Change-Id: Id2edb1159589572f97a07f93181c9c96c5dd983c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-03-23 01:55:58 +01:00
Paul Olav Tvete
0c645f1345 Inform android input method when cursor is moved
Google Japanese Input Beta keeps track of the cursor position, and
bails out if the cursor is not where it thinks it should be. We
have to tell the IM every time we move the cursor, not only when
we are composing.

Change-Id: I9cdb28f81c76e76d3b0125d08bf0595616ca443f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-22 19:52:26 +01:00
Peter Hartmann
1f180e9690 SSL code: store SSL parameters for debugging, guarded by define
... so SSL traffic can be decrypted with e.g. tcpdump / Wireshark.
For this to work, the define needs to be uncommented and QtNetwork
recompiled. This will create a file in /tmp/qt-ssl-keys which can
be fed into Wireshark.
A recent version of Wireshark is needed for this to work.

Change-Id: I4e41fd2e6122260cd96d443b1360edc71b08b5fd
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-03-22 19:52:26 +01:00
Eskil Abrahamsen Blomfeldt
ab18bb84e4 Remove QtWidgets dependency from Android platform plugin
The setFullScreen() function was never called from anywhere, so
it was just removed. The update() loop for top level widgets has
been replaced by a loop sending expose events to top level
windows.

Task-number: QTBUG-29313
Change-Id: Ic31a05ad3a0693f1d3f61457cee9d78f6b334b4d
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-03-22 19:52:26 +01:00
Paul Olav Tvete
e85524096d Use qtproject instead of necessitas for default package name
Task-number: QTCREATORBUG-8779
Change-Id: Idf62e5efa4b8bc4b90d99b3883ae127a0cc7e92c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-22 19:52:26 +01:00
Mitch Curtis
9181ee4d86 Fix missing parts of Ie511522d35b5658c20be43dd112eae18c205277f in merge
The merge of dev->stable branch somehow lost these bits of:
Make QCoreApplication::startingUp() return false when appropriate.
Which was Change-Id: Ie511522d35b5658c20be43dd112eae18c205277f

Change-Id: I2991b10e2774bf5a59fa37734d4a9fd39d51b472
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-03-22 19:52:26 +01:00
Frederik Gladhorn
4e07286a30 Only instantiate QAccessibleWidget after trying inherited classes
The plugin should try each class name from the meta object
in succession instead of giving up right away and just using
QWidget.

This improves the handling of the itemviews and makes many sub-classes
of QWidget outside of Qt work.

Change-Id: Id81017c648fe229c3eb85d6d9ae6696d5f16a1ef
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-22 17:11:17 +01:00
David Faure
f4609b2022 QThread: fix race when setting the eventDispatcher
Use QAtomicPointer to make this thread-safe.

Change-Id: If71f204699fcefabdb59bd26342d777d1cc9e2a7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-22 16:44:51 +01:00
David Faure
85b25fc221 Remove racy setting of eventDispatcher to 0.
This is inconsistent (e.g. the glib event dispatcher doesn't do this) and
unnecessary (already done by QThreadPrivate::finish before deleting the
event dispatcher, and by the QCoreApplication destructor).

Change-Id: Ib98147953a5e71ec87aab0ec7ef5063bb7d80134
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-22 16:44:47 +01:00
Eskil Abrahamsen Blomfeldt
9c6f27ce48 Fix installation of Android java files
The installation of the java files does not depend on Qt,
so it can be built before the rest of Qt, which means we need
to remove the default dependency in qmake, otherwise we can
get an error message:

Project ERROR: Unknown module(s) in QT: gui core

Change-Id: Ibb968acf6ec06c91ccfd5002e08c93c96a209934
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-22 16:34:07 +01:00
Jerome Pasion
6786000790 Doc: Changed title of Qt Print Support's C++ Classes page.
-old title created broken links in Assistant.
-conforms to Qt 5 naming scheme.

Change-Id: Iaf619c1264edc1f9d2fd24f7031fe6c07efd2c1d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-22 15:26:31 +01:00
David Faure
ab340e89fd renameOverwrite: don't allow cross-partition copying
This matches the Unix behavior, and ensures atomicity (as required by QSaveFile)

Change-Id: I54ec98bcd7a0714ca968cad627a5e4d684fd7af6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-22 13:29:13 +01:00
J-P Nurmi
c2bdfc3884 QWindowsVistaStyle: fix checkbox animations for QtQuick Controls
Change-Id: I740dfab748fe9cc79a861c549030ff9e9e608df2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-22 13:05:27 +01:00
Mirko Boehm (AWS)
4824c74b34 Fix error in XML and Xunit formatted benchmark output.
The number of iterations was not respected for XML output, unlike for
plain text output. With this fix, benchmarks report the same result
for plain text and XML formatted output.
Compare the change to qplaintextlogger.cpp:274.

Change-Id: Ieb3e5812e18d93c36847bef0417f779efd300f86
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-22 12:59:01 +01:00
Martin Smith
04770e5824 qdoc: List of all members subpage redesigned
The subpage listing all the members of a QML type,
including the inherited members, was trying to use
an old format that works ok for C++ classes but is
not optimal for QML types.

The redesigned format for QML types still lists all
the members but it lists the members for each base
type in a separate list.

The members for a QML type that has been marked as
abstract are listed with the members of the type
that inherits the abstract type.

This fix does not fix QTBUG-30111, which will be
fixed in a separate commit. This means that some
links on the subpage generated by this change
will be links to a page that doesn't actually
contain any documentation for the linked member.
But it will eventually.

Task-number: QTBUG-30114
Change-Id: I8ae4227d1eaecdbc24a4ac9b8119f0ced2cdee92
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-22 12:13:23 +01:00
David Faure
bf3a5ccef1 QThreadDataPrivate: fix data race on canWait boolean.
postEvent() accesses it with the postEventList mutex locked, but
processEvent() was checking it without any mutex locked.

Change-Id: I31bbb50f7a1c337067b8e3de16ee7cd11400b517
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-22 12:12:36 +01:00
David Faure
49d7e71f77 QEventDispatcherUNIX: turn interrupt bool into an atomic int.
It's read and written by different threads, so this was a race.

Change-Id: Ieffaa169eb67f40dc935291b3994f9ff1c7e05f0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-22 12:12:22 +01:00
Montel Laurent
ef502d4fb9 Initialize gen_ variable
Change-Id: I87e0b2e11670ea71da8e4d2f718dc97dd32dd57d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-22 12:11:43 +01:00
Morten Johan Sørvig
a8283fe4d9 Implement [QNSView isOpaque]
Re-use the QCocoaWindow implementation.

This gives a small performance boost since NSWindow
can skip drawing the background if it knows that the
content view will fill with opaque pixels.

Change-Id: I4a9a14135d890e9132dd1cb0af5a1c1a769d7e2f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-22 07:16:25 +01:00
Friedemann Kleint
a87e8f7a10 Show warning about QBackingStore::flush() only for toplevel windows.
Task-number: QTBUG-30181

Change-Id: I8c9b515af022cb204649cb1e1f344f73a224c8b7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-22 06:20:19 +01:00
Eskil Abrahamsen Blomfeldt
c2a8a8236f Recommit b7b858595e
This was accidentally removed as part of the merge from
dev.

Change-Id: I102ff0d67a136b0dbe467d83edccf02880536d7f
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-03-21 15:27:50 +01:00
Eskil Abrahamsen Blomfeldt
53b32a0b3f Android: Fix use_local_libs when running from launcher
Use persistent data to specify the alternative location
of Qt libraries instead of command line arguments, so that the
application can be run from the launcher and not just from
Qt Creator.

Task-number: QTCREATORBUG-8643
Change-Id: I72df2905f3f35a3b924edd47d3a5387e674c97ac
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-03-21 15:26:58 +01:00
Dmytro Tyshchenko
b5a388192c Add qMenuToNSMenu() and qMenuBarToNSMenu() to QCocoaNativeInterface.
Preparing the addition of toNSMenu() functions to QtMacExtras which
will expose the native handle of a QMenu or QMenuBar.

Task-number: QTBUG-28869
Change-Id: Ib07712f5da0758addbbf8a84d6881297420e7ac8
Reviewed-by: Harri Porten <porten@froglogic.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-21 15:26:47 +01:00
Gatis Paeglis
24c10b0b8d Introducing QComposeInputContext
When switching from Xlib to xcb platform plugin it was agreed that
XIM is deprecated. Users should be using QT_IM_MODULE to load input context
plugin for a more advance input method framework support.

The proposed solution is to parse the compose file directly from Qt. This
approach removes the overhead of communication protocols used in Xlib and/or IBUS.

TableGenerator class follows [1].

The compose file is searched for in the following order:

1) If the environment variable $XCOMPOSEFILE is set,
its value is used as the name of the Compose file.

2) If the user’s home directory has a file named
.XCompose, it is used as the Compose file.

3) The system provided compose file is used by mapping the
locale to a compose file from the list in
/usr/share/X11/locale/compose.dir.

Regarding step 3 - TableGenerator searches in hard-coded locations for
system-provided compose files. Here I have introcuded a new environment
variable QTCOMPOSE which can be used to prepend an extra location
to be searched.

[1] http://www.x.org/archive/X11R7.7/doc/man/man5/Compose.5.xhtml

Task-number: QTBUG-28183
Change-Id: I76dcfd454f3acc23db98192a3673c1ab2af4425f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-21 15:26:24 +01:00
Sergio Ahumada
fb9cff6e88 Merge "Merge remote-tracking branch 'gerrit/release' into stable" into refs/staging/stable 2013-03-21 15:26:18 +01:00
Samuel Rødal
2ab9b747fc Merge remote-tracking branch 'gerrit/release' into stable
Conflicts:
	configure
	mkspecs/features/qt_module_headers.prf
	mkspecs/features/qt_tool.prf
	src/angle/angle.pro
	src/tools/bootstrap/bootstrap.pro
	tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp

Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
2013-03-21 08:49:01 +01:00
Gunnar Sletta
f7dfbb4bb2 Send expose when we get a geometry change.
Change-Id: I4c0c5130e6513fb4031e847be01feff3653f256e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-03-21 07:53:04 +01:00
Shawn Rutledge
750899660a window should not be resizable while its transient popup is open
If a popup is transient for another window, the other window should
not be resizable while the popup is open.  (Resizing didn't close the
popup, either.)  The popup is emulated with an NSPanel rather than
being a native popup, so we don't get this behavior for free.

Task-number: QTBUG-30266
Change-Id: I49d04a095b428d169fe36ae1768c889578c3c054
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-21 07:41:41 +01:00
J-P Nurmi
f1e681bed2 QWindowsVistaStyle::drawPrimitive(PE_Frame): fix background clipping
The purpose of PE_Frame is to draw the frame, not the background. The
old code tried to check whether a custom base brush was set, and
otherwise let the theme draw the background. That didn't work together
with CSS background images. This change removes the background drawing
from PE_Frame, and let's PE_Widget to draw the background using the
base brush that defaults to a color fetched from the theme.

Task-number: QTBUG-24783
Change-Id: Iaddfcbd613122a9aed39e77ba05a26f94995f7d2
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-21 01:38:45 +01:00
J-P Nurmi
3a6d0bbde6 QWindowsVistaStyle: fix QTextBrowser frame
Check for QAccessible::StaticText role in addition to EditableText, to
get correct frame for non-editable text widgets, such as QTextBrowser.

Task-number: QTBUG-24783
Change-Id: I2c3e4f4fa06c8122485b1bc6c1da04c7565c7223
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-21 01:38:45 +01:00
Israel Lins
f9d856b3f5 ODBC: lost info about column metadata on SQL_NO_DATA
In reset() if SqlExecDirect returns SQL_NO_DATA the column metadata
is ignored.

Change-Id: I0501fa47c42754bba42b3531da59e66c696eac53
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-03-20 23:30:43 +01:00
Sergio Ahumada
e5a11fbb32 Merge "Merge branch 'dev' into stable" into refs/staging/stable 2013-03-20 23:30:31 +01:00
Israel Lins
0646d1131b ODBC: fixed consistence of return of QODBCResult::exec()
The QODBCResult::exec() returns false when query is an delete
with no data do delete caused by SQLExecute function returning
SQL_NO_DATA, but the false return means error on execution.

Task-number:  QTBUG-10569
Change-Id: I6c7ebadcf62ab404b60c7bcccdab6a10bf16a923
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-03-20 23:30:23 +01:00
Stephen Kelly
a45a80f322 Allow specification of a namespace for modules under test.
Change-Id: I957d662d677766732f324e48a6bc42f23f1a444c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-20 23:28:21 +01:00
Stephen Kelly
ecb20e57d4 Rename the qtinclude variable to qtclass.
Change-Id: If454627be464e388cb8f529a6041d3ec804f22ce
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-20 23:28:15 +01:00
Oswald Buddenhagen
e79e1c1a16 pass module version to syncqt
this is cleaner than having it parse qmake project files.
the only remaining built-in version extraction is the fallback to
qglobal.h needed for bootstrapping.

as a "side effect", this fixes the build of modules with mismatched
versions centralized in .qmake.conf, as this was simply not handled so
far.

the -mkspecsdir syncqt option goes away, as there is no use case for it
any more.

Task-number: QTBUG-29838
Change-Id: I6912a38f0e93a26bc267a9e3d738506fd3ad431b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-20 19:03:45 +01:00
Gabriel de Dietrich
613cef516c qtbase: Fix duplicate symbol errors in static build on Mac
There is some code duplication between QMacStyle anf the Cocoa QPA
plugin regarding painting and bridging with Cocoa.

Task-number: QTBUG-29725
Change-Id: I347407a9bca47b6fccd77fb924688bd35135d96b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
(cherry picked from commit 5f948eb62d)
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-03-20 15:47:31 +01:00
Oswald Buddenhagen
76c0be34cd Merge branch 'dev' into stable
This starts Qt 5.1 release cycle

Conflicts:
	src/gui/text/qfontdatabase.cpp
	src/gui/text/qharfbuzz_copy_p.h
	src/widgets/kernel/qapplication.cpp
	src/widgets/kernel/qcoreapplication.cpp

Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
2013-03-20 13:49:28 +01:00
Friedemann Kleint
426f2ccafc Windows native file dialogs: Split suffix list correctly.
Task-number: QTBUG-30185

Change-Id: I9a3d16eafb5417d6720a702af662fb219487549d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-20 13:12:12 +01:00
Libor Tomsik
27b4fe96b5 Added configuration environment variables for evdev input plugins.
Added new environment parameters QT_QPA_EVDEV_KEYBOARD_PARAMETERS,
QT_QPA_EVDEV_MOUSE_PARAMETERS and QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS to the
evdevkeyboard, evdevmouse and evdevtouch input plugins. In order to get
evdevkeyboard support for keyboard layout, explicit device file and more.

Change-Id: I0d9139cd0d4b682ab2df7c16ebd16d4d9c0c0ab0
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-20 10:09:28 +01:00
Chris Meyer
d1f2309166 Fix duplicated application menu items on Mac OS
Added code to check to see if the menu item already exists in the
application menu before adding it.

Change-Id: Ie0a5eab3c61d5a3413a834d2e57bab40660f6802
Task-number: QTBUG-27202
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-03-20 07:54:14 +01:00
Konstantin Ritt
36cb3f3f65 Fix the font engines leaking
1. when there were some engines with ref > 1 in the cache, prior to calling
   QFontDatabase::{add,remove}ApplicationFont()/removeAllApplicationFonts()
   (QFontCache::clear() has never decreased engine's cache_count);
2. when the QFontEngineData's engine is not in cache i.e. the Box or Test font engine
   (~QFontEngineData() didn't free engines it keeps).

Instead of using the font engine's (external) "cache_count" counter,
QFontCache now references a given font engine every time it is inserted to
the cache and dereferences exactly that number of times in clear().

Change-Id: I87677ebd24c1f4a81a53526f2e726e596b043c61
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-20 07:02:29 +01:00
Jake Petroules
ef9c3c753d Fix license headers stating QtGui for QtWidgets files.
Change-Id: I0ca49e3e1f9f603f0b0f7f3553e854b871efe303
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-19 23:17:27 +01:00
Olivier Goffart
51ccd1ef8f Document restrictions on the new connection syntax
... when the compiler do not support variadic template

Change-Id: Iec84cad8ece2fc28b0c224872fdd90d30ae60fc9
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-19 23:16:42 +01:00
Olivier Goffart
bc98bba2f3 Support connection to functor with multiple operator()
When variadic templates and decltype are supported, detect the best
overload of operator() to call.
Currently, the code takes the type of the operator(), which requires that
the functor only has one, and that it has no template parameter.

This feature is required if we want to connect to c++1y generic lambda
(N3418)

Change-Id: Ifa957da6955ea39ab804b58f320da9f98ff47d63
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-03-19 23:16:38 +01:00
Olivier Goffart
e66159cfc7 Mark QtPrivate::ApplyReturnType constructor as explicit.
Else, the operator,(T, ApplyReturnType<void>) is sometimes chosen if a
pointer is passed, and that is breaking some decltype expressions.
(such as the one in ComputeFunctorArgumentCount in the next patch)

Change-Id: Ic203bbb1a8f5abbebb3b11786454807aa20be5fd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-19 23:16:03 +01:00
Rafael Roquetto
67faba073d BlackBerry: implement QWidget::showMinimized()
Add window minimization capability on the plugin.

Change-Id: I4539d29b8ebbef935213edde634f0a85b6a21766
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-03-19 19:06:46 +01:00
Konstantin Ritt
0d866c35d6 QLocalePrivate: Add convenience language/script/country to code helpers
Change-Id: Id9126a95f1b3a75f510e642ab08c68cefaf3d142
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2013-03-19 18:33:16 +01:00
Frederik Gladhorn
1148da5aa8 Fix crash when trying to access accessible parent in dtor
Change-Id: I36a065facc0ea80b3a155eaf646613cbd86fdfac
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-19 18:28:43 +01:00
Konstantin Ritt
0654c066d9 Move QTextEngine implementation details from QTextLayout
As of now, we'll have everything related to the additional formats handling
just in a single place. Make specialData private to prevent accessing it
from outside. This helped in tracking-down several related issues:
- in format(const QScriptItem *), the resolvedFormatIndices can not be empty
  at that point, so the code path is dead;
- in resolveAdditionalFormats(), testing if formats has not been indexed yet
  is not needed since they are indexed just in the setter;
- in useRawFont mode, hasFormats() didn't check if QTextEngine really
  has some formats, which potentially leads to formatting artifacts.

Change-Id: Id4b912888fd5a1fa83f01007170134b6386e2879
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-19 18:16:41 +01:00
Stephen Kelly
865a5f0cda Clarify mention of QAbstractItemView in the canFetchMore docs.
Change-Id: Ic93054d8fc68497fb0bcc2c5491924b9c57b78ad
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-19 15:22:50 +01:00
Yoann Lopes
6365f002a9 Fixed QTextureGlyphCache glyph padding.
Padding was correctly added between glyphs but it was missing at the
texture edges.

Change-Id: I6d5e1206194f6aecefcfc45ead22d54c1207de4f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-19 15:14:46 +01:00
Martin Smith
34598ddcbe qdoc: Sort QML methods by name
qdoc was using the method signature (beginning
with the return type) to sort methods for listing
in the HTML output. Now qdoc sorts on the method
name, which makes the list easier to read.

Task-number: QTBUG-29708
Change-Id: If3785ccd5849df53b01043c2dada0b6bf3c00614
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-03-19 14:49:14 +01:00
Stephen Kelly
bc1fb206bb Run CMake dbus tests if dbus is expected to be available.
Instead of first finding it and then testing that we can find it.

Change-Id: I1a1090693520b1d6adadef93839f25d277947e76
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-19 11:26:41 +01:00
Mitch Curtis
f523883c2f Make QVariant docs refer to QMetaType::Type.
Task-number: QTBUG-30014

Change-Id: Ie4c0df92345bcb79ef44fb6f345cba9fc934d32f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-03-19 10:58:20 +01:00
Shawn Rutledge
bd8630763c OSX: a window which has WindowDoesNotAcceptFocus isn't first responder
Change-Id: If02ce190d93fcae18f1e1b41bc73c83b3226d4e7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-19 10:46:19 +01:00
Shawn Rutledge
79e729e111 OSX: obey the Qt::WindowTransparentForInput flag
Ignoring the mouse means you don't get window enter/exit events for
that window either.

Task-number: QTBUG-30122
Change-Id: I979be9f72f7d225d7b960fc5db4c3956d2749982
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-19 10:44:55 +01:00
Tor Arne Vestbø
f8624b188b iOS: Use didFinishLaunchingWithOptions to support iOS < 6.0
UIApplicationDelegate's willFinishLaunchingWithOptions message was
introduced in 6.0. For now we don't need to distinguish the two, so
no need to use willFinishLaunchingWithOptions on iOS >= 6.0.

Change-Id: Ic6c2c9d2901def5a5500b186ed57fbe8b8c556d1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-03-19 10:36:10 +01:00
Tor Arne Vestbø
5bc32bcced Fix build on iOS by using QOPENGLF_APIENTRY intead of APIENTRY directly
QOPENGLF_APIENTRY masks over GL vs ES, as we need GL_APIENTRY on iOS,
where APIENTRY is not defined.

Change-Id: I60c097d67e0844c30913c913cf88a9b9e181813b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-03-19 10:36:01 +01:00
Mirko Boehm (AWS)
1a708277c5 Add minimumtotal option to improve accuracy of short-lived benchmarks.
Short-lived benchmarks (benchmarks that complete in a very short period
of measured time) are often more affected by jitter and warm-up effects
than longer running benchmarks. Since QBENCHMARK stores the median
result of all accepted benchmark runs, a larger number of aggregation
runs is preferable for short-lived tests, but not necessarily for longer
running ones. The minimumtotal option, specified in units of the
selected measurement, will make the benchmark repeat a benchmark until
the total measured cost exceeds the specified threshold. The displayed
median result will then tend to be more accurate. This is especially
useful for data-driven benchmarks in case the data tags scale the
benchmarked operation from little to large cost.

Change-Id: Ib857de64aaffc77715a0000d36f0245f31d86b9a
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-19 10:29:23 +01:00
Albert Astals Cid
9817707c71 Document ResourceError
From reading the code it can be ENOSPC or EMFILE

Change-Id: I2eecbf8afe0228d330210c25f299af12fab9cb64
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-19 10:24:07 +01:00
Thiago Macieira
537679cb12 Fix wildcard signal disconnection in QDBusAbstractInterface
This has been broken forever, just like generic signal
disconnection. It didn't use to show up before because in Qt 4,
QObject's destructor would not call disconnectNotify().

Just like in the previous commit, we need to verify whether the signal
was disconnected from the last receiver. A wildcard disconnect might
be disconnecting only from a specific receiver.

Task-number: QTBUG-29498
Change-Id: I0790128ea878fdf3ac563c99d96c6aa7d270e9a3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-19 07:03:25 +01:00
Thiago Macieira
d2a98df9bc Make sure that signal disconnects don't disconnect too much
There has been a latent bug forever in QtDBus that would make a signal
disconnect actually disconnect too much. The reason is that
disconnectNotify() is called every time a signal is disconnected from
a receiver, but that doesn't mean it was the last connection.

This test checks whether disconnecting from voidSignal() to our test
receiver will also disconnect from exitLoop(). If it does, we'll get a
timeout. I could have implemented it with two receivers, but in the
buggy case, it would always fail first in the timeout verification.

Change-Id: I5766d8a38594eb25e65b304913251303660fad41
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-19 07:03:17 +01:00
Thiago Macieira
d1b4857d17 Make sure that we #include qconfig.h before testing for features.
This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but
it's a good idea even in private headers, in case someone includes
that header first somewhere. In particular, all platformsupport API is
private.

Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-19 07:02:57 +01:00
Allan Sandfeld Jensen
0ef4a55014 Perform kerning in QRawFont::advancesForGlyphIndexes
Being able to calculate advances for series of glyphs include kerning
is important to be able get kerning on QGlyphRun.

Note this kerning is only truetype kerning, since opentype kerning is performed
during shaping.

Change-Id: I8d7458066431cbdce699647056fd0d7a76b20aa2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-03-19 03:59:42 +01:00
Eskil Abrahamsen Blomfeldt
9bf5870eb9 Fix missing glyphs for large fonts
For large fonts, we would get invalid metrics due to the metrics
being too large to fit in the signed chars of the cache struct.
This in turn would lead to the bounding box reported by the
font engine being wrong, and subsequently, the algorithm which
decides whether any part of the glyph is visible in the raster
engine would make the wrong decision, hiding glyphs that should
not be hidden.

Task-number: QTBUG-30026
Change-Id: I59b613ce889fcac0bd50ffec9d369728068d0263
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-03-19 03:55:44 +01:00
Albert Astals Cid
237fbcbea5 Add the Deselect StandardKey
Ctrl + Shift + A as inverse of Ctrl + A
Works in both KDE and GNOME widgets so put as KB_X11

Change-Id: I3d1781933fcf7db03685453deef8612052cc879a
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-18 22:08:08 +01:00
Friedemann Kleint
c29e93c79f Windows: Fix drop shadows for widget tool tips.
Change-Id: Ifacee152e291face69964471d75e92b7784be4a4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-18 21:59:52 +01:00
Friedemann Kleint
2fa3d365ac Windows: Fix class name generation for Qt Quick Controls.
New combinations of settings need to be handled (for example,
GL + drop shadows for menus). Generate the class name depending
on style settings. Introduce new dynamic property for drop
shadows.

Change-Id: I438f7bdd87f09d3c99076ebf825a12d862948ec1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-18 21:59:43 +01:00
Stephen Kelly
4111a676f1 Make the qtbase cmake tests work without the Widgets module.
Task-number: QTBUG-28540

Change-Id: I916d104c8aba551ee9a5b34da3fd85dcb26bbf64
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-18 20:17:10 +01:00
Stefan Gehn
374fc337ae Add dynlist file for QtGui
Similar to QtWidgets ensure that QGuiApplication::notify() is always
called via its exported symbols. This is needed to allow overloading it
via LD_PRELOAD or other means.

Change-Id: I84d0176b984c5fdf9b199127e08fcfa93dbc853f
Reviewed-by: Harri Porten <porten@froglogic.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-18 17:11:04 +01:00
Stefan Gehn
3ea49a1f8e Update dynlist file for QtWidgets
- Rename dynlist file to reflect the Qt module its used for
- Drop removed functions/methods from dynlist file

Change-Id: I5e2b369f0f62c1daff8086e9dbc3f62150bd26ea
Reviewed-by: Harri Porten <porten@froglogic.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-18 17:11:03 +01:00
J-P Nurmi
c6bca8da0a Q(Styled)ItemDelegate: disable style animations
The style animation system expects a single QObject per animated item.
Therefore, this change disables style animations for checkboxes etc.
within itemviews, because the view cannot act as an animation target
for several checkboxes. The result of that kind of animation would be
randomly checked/unchecked checkboxes, or sometimes even left in the
middle of the transition.

Task-number: QTBUG-30146
Change-Id: I1d7165571c723e84a0e6fbda266cb03b04deabd8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-18 14:44:21 +01:00
Stephen Kelly
14054d4521 Set the INTERFACE_QT_MAJOR_VERSION to 5.
This way, CMake will issue an error if there is an attempt to use
Qt 4 and Qt 5 in the same target.

Change-Id: I0cad31b00f7eb7dc372491e0f5734765551c3d6e
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-18 11:50:27 +01:00
Shawn Rutledge
0bd827518d Make QT_STYLE_OVERRIDE env variable available to release builds
This shouldn't be restricted to internal builds.  It's nice to be able
to enable fusion style by default instead of GTK, for example.

Change-Id: Icf9b4c990ddd1152b7444948c98717faff1c5ad6
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-18 08:56:42 +01:00
Laszlo Papp
0ea6b8ada0 Add predefined macros for endian detection with the TI toolchains
Change-Id: I88768adc8acb3b28b7a774f2e9a285d983c9d76d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-18 08:51:15 +01:00
Laszlo Papp
4905c0754b Add convenience distance methods to QVector2D
Change-Id: I8ecdda35912a95e69c2f8dd98ce9c41c77b222d2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-18 08:36:03 +01:00
Martin Smith
758eaed664 qdoc: Now checks for existance of each exclude dir
If the dir exists, it is added to the list of exclude
dirs. If it does not exist, it is ignored. If it does
not exist, qdoc assumes there is nothing to exclude
there and does not report an error.

Task-number: QTBUG-29736
Change-Id: I657b84f1a967d03f83a803402d8670f9113933eb
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-03-18 05:48:08 +01:00
Laszlo Papp
2025d02cf7 Fix the is_enum type trait for char16/32_t (C++11)
Add the char16/32_t types to the is_integral check with true for the type
traits to pass the qglobal test for the is_enum functionality. Otherwise, those
types will be detected as enums due to the internal test.

These types are integral after all.

Change-Id: I89ef6b6b4be348d8ef57b0d19ccea55b435e9b14
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-17 17:54:34 +01:00
Laszlo Papp
c82121fd7f Amend the missing documentation for the from*() static overloads
c951908bc2 sneaked in without adding documentation
to those public static methods. Hence, the public documentation online for those
methods appear to be empty.

More importantly, they have been missing the indication that the introduction
took place in Qt 5.0.

Change-Id: I3ca3fa57a96e28e2d64d0af28159d8bda9cbe71a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-17 14:44:41 +01:00
Morten Johan Sørvig
b74ba4e198 Add Qt::AA_UseHighDpiPixmaps.
Setting this attribute enables QIcon::pixmap() to return
high-dpi pixmaps when running on "retina" type displays.

This requires an opt-in flag since the returned pixmap
can be larger than the requested size, which is a change
in previous documented behaviour that can break existing
code.

Change-Id: I5ff3d25c68de24aa4eda7ad1f8aa9199da04707e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-17 08:12:25 +01:00
Axel Waggershauser
b11317a643 Whitespace cleanup: remove trailing whitespace
Remove all trailing whitespace from the following list of files:
*.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README
excluding 3rdparty, test-data and auto generated code.

Note A): the only non 3rdparty c++-files that still
have trailing whitespace after this change are:
* src/corelib/codecs/cp949codetbl_p.h
* src/corelib/codecs/qjpunicode.cpp
* src/corelib/codecs/qbig5codec.cpp
* src/corelib/xml/qxmlstream_p.h
* src/tools/qdoc/qmlparser/qqmljsgrammar.cpp
* src/tools/uic/ui4.cpp
* tests/auto/other/qtokenautomaton/tokenizers/*
* tests/benchmarks/corelib/tools/qstring/data.cpp
* util/lexgen/tokenizer.cpp

Note B): in about 30 files some overlapping 'leading tab' and
'TAB character in non-leading whitespace' issues have been fixed
to make the sanity bot happy. Plus some general ws-fixes here
and there as asked for during review.

Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-16 20:22:50 +01:00
Oswald Buddenhagen
898e701b4a bring bootstrapped QT magic from qt_tool to qt_module
project files of bootstrapped modules can, just like those of
bootstrapped tools, benefit from automatic adjustment of QT (and
CONFIG).

Change-Id: I83815e69a2b105caaee0c2e2602828f8eb425eef
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-16 00:12:47 +01:00
Giuseppe D'Angelo
b36cdba339 Long live QOpenGLDebug!
Qt convenience classes for the GL_KHR_debug extension

This allows the developer to
1) ask the GL for a log of the last generated messages;
2) emit Qt signals whenever the GL wants to tell us something.

Change-Id: I830343a26714c51abb68ce1269163c145d1e2aac
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-15 22:08:39 +01:00
Thiago Macieira
583e9ef790 Make the QDBusVirtualObject docs public.
Better docs to come in a later commit.

Change-Id: Iba538585e97aac779d226ef966a1a08c186c4c93
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-15 21:38:31 +01:00
Jan Arve Saether
d76b0d9c6f Don't call updateAccessibility from graphicsview
Graphics items are not accessible anyway, so it doesn't
make much sense.

Task-number: QTBUG-30169

Change-Id: Id10b0897bce88d9b91db84609a09495aac41b0b4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-15 21:30:29 +01:00
Laszlo Papp
d8bef6bb2e Add a minor convenience for calculating the distance to a point
Change-Id: I312727bf6858ead6c30fe20bf3abc5afc73a3a14
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-03-15 18:37:51 +01:00
Liang Qi
b7b858595e Remove the usage of undefined QFontDatabase::WritingSystem
There is no definition for Yi, Tagalog...Braille in
QFontDatabase::WritingSystem, see the header file.

Change-Id: I0187b0ea23cdb49c4c3306217296d727d4983652
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-03-15 17:58:53 +01:00
Sean Harmer
379886d24b Fix calling convention in ANGLE builds on Windows
Desktop OpenGL builds on windows correctly define APIENTRY whereas at
present the ES2 (ANGLE) builds do not. This leads to QOPENGLF_APIENTRY
having the wrong calling convention.

This fix is required for https://codereview.qt-project.org/#change,48660
but may also fix any random crashes that people may be seeing with
other Qt-wrapped OpenGL functions in ANGLE builds.

Change-Id: I8068c181d41be949d29168bd5ca1a181cc2245c7
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-15 13:30:32 +01:00
Mitch Curtis
40236c35a6 Fixed crash when VNCing and trying to use non-present XFixes extension.
Task-number: QTBUG-29978
Change-Id: I1a6759bafaac7a1d2b598412f0d32077a42192a4
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-15 10:45:11 +01:00
Samuel Rødal
39c9b58fc7 Make sure QGLWidget::setContext() is correctly documented as obsolete.
Task-number: QTBUG-30017
Change-Id: Idf3c943d7aaad294cbf6858cca1c01e841e94b7d
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-15 09:28:11 +01:00
Samuel Rødal
b528e1324a Fixed QPainter::drawPolyline() not drawing solid lines.
If a line segment isn't filled we keep using the same point of origin.

Task-number: QTBUG-26156
Change-Id: I20af8410a7039b69848f201ab62fd3c01b95531b
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-15 09:28:01 +01:00
Alberto Mardegan
1a60bfdcd1 XCB: don't map hidden windows
This bug was introduced by the XEMBED implementation (carried over from
Qt4, but there it applied to QX11EmbedWidget only): the _XEMBED_INFO
property is used to inform the *embedder* whether the embedded window
should be mapped when embedded.

Task-number: QTBUG-30084

Change-Id: I8d1c467874bdee3300a1b18b8174b2d62f498713
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-15 08:24:16 +01:00
Allan Sandfeld Jensen
ee328adb2e QTextEngine capitalization doesn't work with QRawFont
The capitalization settings is attempted read via specialData->addFormats,
but the QTextCharFormat there is reset when added, and should instead be
accessed through specialData->addFormatIndices.

Change-Id: I190c419f07c3f7e803ca1d44059e8f538216b9ab
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
8977d2fbb4 update qml parser to current version from qtdeclarative
Change-Id: Ic623614aa3c63197e44bf1ae04001997fe7deaac
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
d3d8ac3546 don't bootstrap tools when not necessary
bootstrapping is only necessary if we are cross-compiling or have a
circular build dependency.

Change-Id: I17244457652ca9d4fc797043e57070c2ae3ee5d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
53571e02a1 create bootstrap-dbus module
this just factors out the common sources from the qdbus tools, to avoid
double compilation, and to clean up the project files.

Change-Id: I330d108ebffda4bc7c0e0e9ec00e51ddd48d5289
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
578961829a normalize #includes
we already have the syncqt'd include paths set, so use them.

Change-Id: I9d0047a79b493dd8b65f0f5495f3592ce2e2fb1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
ef6cf8ce72 the atspi bridge depends on dbus and qdbusxml2cpp
Change-Id: Idad2fcfd33be16a5d4ab5e1a56fcc79707bd5039
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
1824ac4a2d add QStandardPaths to bootstrap lib
it was already bootstrappable, but it was used only for configure.exe.

needed for bootstrapping lupdate

Change-Id: I0c2bf7db293dda47b3342dfe897a28b34383b1b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
59fc1102f3 add QCoreApplication to bootstrap lib
this required making it compile with QT_NO_QOBJECT. of course this
disables anything related to threading and event processing.

needed for bootstrapping qmldevtools (qmlmin, lupdate)

Change-Id: I6f8bd3996ac7b6eee49a5b8a55143d358abe35ee
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
e6aba2f7cd re-enable QT_NO_LIBRARY support on Windows
the exclusion came in with the original winCE port. the reason for this
is not clear.

Change-Id: I8cd59d27fcc292186e5eef3238f56bad2cf320c1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
096e32d814 simplify/fix QT_BOOTSTRAPPED-related #ifdefs
don't test for building specific tools when we actually only want to
know whether we are bootstrapping. so far, this was only redundant; with
the upcoming change of not bootstrapping unnecessarily it would be
outright broken.

Change-Id: I7600d8ebb14a4194640c50035e35a04263f2ccce
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
Oswald Buddenhagen
bd7ca33889 qfilesystemengine_mac.cpp is empty => purge
Change-Id: I61c615343f45fe52adee36b6822322bda2b2ca4f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
Konstantin Ritt
c20422af13 Move Unicode script itemization code from text engine to UnicodeTools
This is still the same trivial implementation with the only difference in that
that it properly handles surrogate pairs and combining marks.

This temporarily makes QTextEngine::itemize() insignificatly slower due to
using intermediate buffer, until refactoring is done.

Change-Id: I7987d6306b0b5cdb21b837968e292dd70abfe223
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-14 19:49:38 +01:00
Konstantin Ritt
a8e933a74c Fix build on MinGW, Win<7
/* broken by 26149d057a */

Change-Id: I63f4d70e2a6fc1f8f1b302d188cf34d1abb0699c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-14 19:49:38 +01:00
El Mehdi Fekari
a0c4a71226 Inital port of QSystemLocale on BlackBerry 10
Change-Id: Ic177e2867d9fa3dbaec221766964ac28656a2662
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-03-14 19:49:38 +01:00
Friedemann Kleint
05dd61915b Add Open GL extensions only when Open GL is enabled.
Task-number: QTBUG-30115

Change-Id: I6cb92c654d538fb629334cb81485058b6f1b65ef
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-14 19:49:38 +01:00
Fabian Bumberger
41fc0a0424 Do not use JIT for pcre on QNX
When using JIT, pcre16_study causes a segfault.

Change-Id: I43a13579b240edcd75e64a4c291712a96a6ac273
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-03-14 19:49:38 +01:00
J-P Nurmi
94d1d84861 GTK+ platform theme: cleanup coding style
Change-Id: I5db283d7ed42346d9c2b90acbc342336b450aa97
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-14 19:49:38 +01:00
J-P Nurmi
b6e9a8f21a Add a generic Qt::Edge enum
The values are Top/Left/Right/BottomEdge and values
specified so that it can be extended as flags later.

Change-Id: I67482265e14d89942a8f59bf09e9e3fadab8243f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-03-14 19:49:38 +01:00
Frederik Gladhorn
d1d0df8fb6 Make qaccessible2.h internal.
This should have been done right from the start,
instead we only made the documentation internal.

Also remove the classes from the BIC data.

Change-Id: I238a7a7cc5d26980b23931c78e7e5a4477d46920
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-14 19:49:38 +01:00
Frederik Gladhorn
d3d63bb4bc Warn about accessibility interface creation failure only once
Change-Id: I0555d7d2417149f0eec54b228b842a61d0d08f85
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-14 19:49:38 +01:00
Stephen Kelly
8d83911542 Remove incorrect export macro.
As this is a static library, no export macro is needed at all. With
the wrong export macro, attempting to use this library fails on Windows.

Change-Id: I618d7f02e374761fc8d8a5a0afb8d6d80e380389
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-03-14 16:38:49 +01:00
Mitch Curtis
958b621ba2 Correct QDate and QTime documentation.
Task-number: QTBUG-30055

Change-Id: I94c8e023f5e3d23ff2f1c74d0763b1c825deb3d1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-14 16:17:22 +01:00
Samuel Rødal
c7191d3e21 Fixed artifacts when drawing same line with different clips.
Expanding on the change fixing QTBUG-24762 with the realization that any
line needs to be drawn in a consistent way regardless of system or
painter clip, not just dashed lines.

Task-number: QTBUG-25036
Change-Id: Ief7ef19cc92c52e7d792500a581a072ba032767e
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-14 12:37:20 +01:00
Mitch Curtis
fd7b52d268 Make QCoreApplication::startingUp() return false when appropriate.
Currently, QCoreApplication::startingUp() returns true even after
a QCoreApplication has been constructed. This patch makes it return
false after it has been constructed and adds checks to QApplication
and QGuiApplication to ensure that it returns true within the
constructor of these classes.

Task-number: QTBUG-2591
Change-Id: Ie511522d35b5658c20be43dd112eae18c205277f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-14 10:47:34 +01:00
Nico Vertriest
1d276c256f Doc: corrected snippet statement in qplugin.qdoc
Corrected path for snippet with Q_DECLARE_INTERFACE

Task-number: QTBUG-29101
Change-Id: I910bb339a4ec6ecf2ad1ea76eaaa73114ab65a68
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-03-14 10:26:31 +01:00
aavit
db775741ed Fixes: assert in QPainter::fillRect on very large paint devices
For devices taller than 32768, fillRect with linear gradient would
go below the cliprect.

Task-number: QTBUG-26766
Change-Id: I516ede1545909e9ce2de5812c61bb473f99f5759
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-14 09:59:58 +01:00
Joerg Bornemann
1e97a1ad8c QProcess/Win: stop pipe readers before closing the pipe handles
The pipe readers should not operate on closed handles.

Change-Id: I6514b949e5ab2adf89633463fc599e8d02c43693
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-14 09:49:30 +01:00
Joerg Bornemann
17869a544e fix spurious QWindowsPipeWriter deadlock
We must check the return value of CancelIo(Ex) and only wait for a
notification if it was successful.
CancelIoEx can fail, if the handle is closed before the
QWindowsPipeWriter destructor is called.

Change-Id: I2dcc97052be917c69d18c277856374cbc07e2169
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-14 09:49:28 +01:00
Irfan Omair
ba75f60449 Set StyleMask to NSBorderless if FramelessWindowHint is set.
Task-number: QTBUG-29815

Change-Id: Idb93843a2ad8332c81587c245fe73aa2bf5cc661
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-03-14 07:31:00 +01:00
Stephen Kelly
2a388e503f Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-03-13 23:35:18 +01:00
Shawn Rutledge
463dac4e00 If a QWindow without a platform window is resized, emit changed signal
Needed as a consequence of I4f5e37480eef5d105e45ffd60362a57f13ec55f5
Otherwise a Window in QML doesn't get notified to update its layout
after being mapped the first time, on Linux.

Change-Id: I8b1291e16b11eb93ab045ac5c5ed6b478391cb21
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-03-13 19:11:18 +01:00
Shawn Rutledge
846cf1a13f Fix sluggish resizing for opengl windows on X11
Disable sync protocol for OpenGL surfaces in the XCB plugin.

Task-number: QTBUG-29304
Change-Id: I4cb47b04637e15e012758d3b0840abd13d27df69
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-13 19:11:12 +01:00
Oswald Buddenhagen
62266ef813 make testlib's toString() use local8Bit, not latin1
this is consistent with what qDebug does. consequently, this makes the
code usable with 8-bit strings in the first place.

note that some {to,from}Latin1 is left - this is where we know that we
are dealing with ascii-only text.

Change-Id: I26cfdf3622250b8bf95ebfe221465ca89d7cd082
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-13 18:40:26 +01:00
Oswald Buddenhagen
de5562ff38 make stubbed QCoreApplication::translate() resolve %n
Change-Id: I36326d0f11e71580977d6589c9810ffa252a0fa7
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-13 18:40:26 +01:00
Oswald Buddenhagen
203f2800c0 make Q_DECLARE_TR_FUNCTIONS() compile with QT_NO_DEPRECATED
Change-Id: I9cde256347e5b59f7754bc578e56c60227c926ab
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-13 18:40:26 +01:00
Oswald Buddenhagen
1188885fdf QStandardPaths::displayName() is unavailable when bootstrapped
reflect that in the class definition

Change-Id: I1224ed851b220abae38c62a4d3dbea8ddbd40b83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-13 18:40:26 +01:00
Oswald Buddenhagen
cb22d3bbba consolidate syncqt invocations
Change-Id: Ic28ea95201501b05c4a62366d1f70fa120161927
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-13 18:40:26 +01:00
Frederik Gladhorn
9fe16e0ee9 Window deactivation should set focus reason.
Change-Id: Iccc46880278bc5f7fe2b706efcdf9b4e6483c3e6
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2013-03-13 18:40:26 +01:00
Axel Waggershauser
3c2748afd5 Improve warning messages (and readability) of connectSlotsByName()
While adding a test case for the new behavior, two issues
with the connectSlotsByName implementation came up:

  1. for auto-connected slots that don't exactly match a signal,
     a 'compatible' one is searched. There might be more than
     one of those. The implementation randomly picks any.
  2. The "No matching signal for %s" warning gets printed even for
     slots that can never be connected via connectSlotsMyName
     anyway (e.g. "on_something"). This is inconsistent.

This fixed both: an explicit warning is printed if more than one
'compatible' signal is found and the "No matching signal for %s"
warning is only printed if the slot adheres to the full
"on_child_signal()" naming convention.

In the process I added comments and changed the code slightly to
make it more readable and explicitly hint at non-obvious behavior.

Change-Id: Icc8e3b9936188d2da8dfff9f0373c8e5c776eb14
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-13 18:40:26 +01:00
Oswald Buddenhagen
2f0756a63c remove pointless DBUS_PATH includes
nothing sets this variable. QT_CFLAGS_DBUS contains the relevant -I
flags.

Change-Id: I888b81f2110c5966550efd4313e74fe6f76ab06b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-13 18:40:26 +01:00
Tor Arne Vestbø
c9eb0f9b49 Don't include custom qopengles2ext.h on iOS
This fixes the build after ec9c0faefd (Update gl2ext.h with the
latest version from Khronos).

Just like Mac OS X, iOS is a controlled platform, and we should include
the system headers instead. The OES_EGL_image_external extension is
not yet in the system headers though, so we provide our own typedef
to make the qopenglextensions.cpp code build, and the extension will
work out of the box once Apple includes driver support for it.

Change-Id: Ib6ba09d400ba38f05d91c90d4c9e54a8626889e1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-03-13 18:40:26 +01:00
Sérgio Martins
1975e65d73 Reorder for performance reasons.
isSymLink() can be expensive in a few cases.

Change-Id: I6f84414cf7057453d62225ab4f45dcdf92ed017b
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-03-13 18:38:19 +01:00
Mark Brand
e3c5351d06 postgresql driver: escape backslashes only when server requires it
Task-number: QTBUG-30076

Change-Id: I408cda941884f01484d0edfa82c91fc19cb8718c
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Sergey Blagodarin
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Andras Mantia <andras@kdab.com>
2013-03-13 17:28:07 +01:00
Israel Lins
36b6d4afc9 ODBC: fix loss of milliseconds when binding QDateTime
Caused by operator precedence error.

Follow-up to commit b8b79a0f37

Task-number: QTBUG-2192
Change-Id: I17decd18c469b48a0bc938ae05c16cced8042219
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-03-13 17:27:57 +01:00
Marko Kangas
18be0749eb Fix for Sql query aliases with dots
Task-number: QTBUG-14904

Change-Id: I98a02d4bbf28522cd5c2f65ea606b6b26977e8e6
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-03-13 17:27:36 +01:00
Joerg Bornemann
7ec521a373 QProcess/Win: do not treat all negative exit codes as crash
Only exit codes that are likely to be in the range of
EXCEPTION_* and STATUS_* codes are treated as crash.

Task-number: QTBUG-28735

Change-Id: I36ae6dc4be28df0c6b6b7361df2c2d0203ee7919
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-13 17:25:07 +01:00
Josh Faust
ebd8ca146d Fix size of HB_FontRec in qharfbuzz_copy_p.h
HB_FontRec was defined in qharfbuzz_copy_p.h as a void* typedef,
which is incorrect, and is the wrong size. This caused things
accessing QFontEngine data after an HB_FontRec to read from the
wrong offset. The visible consequence of this was incorrect text
rendering in OpenGL in Linux.

Task-number: QTBUG-29966

Change-Id: I71e6a6c5b4ef7b2c8a92631d2b9540537afc56b1
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-03-13 17:23:47 +01:00
Stephen Kelly
91cd2009bd Generate a Qt5ConfigVersion.cmake file.
This allows finding a minimum particular version of Qt 5.

Change-Id: I96112f1be90f397ec60a2b233989ac0e0380bef9
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-13 16:07:09 +01:00
Stephen Kelly
7cf603e92e Fix openglextensions module depends.
It requires the QtGui module. Just remove the QT line and allow
the default to be used.

Change-Id: Ie6dffaa0621c7ececd31ff0b696814bc82a2a764
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-03-13 16:07:01 +01:00
Jens Bache-Wiig
7b5ee9cb80 Improved appearance of mac toolbar handles
The old ones were too heavy and cluttered to fit on mac.

Change-Id: I5d9f1a8801992026af65af4c6b2aeae3a03a9f5c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-13 15:16:22 +01:00
Jens Bache-Wiig
99b032e132 Improve the look and feel of Mac extension arrow
This adds an improved extension arrow as well as a graphic
for retina macs.

Change-Id: Ie7395bbd87d6d354437bdbcc0cf258a27c09a360
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-13 15:16:15 +01:00
Jens Bache-Wiig
51216956b2 Draw StatusBar with gradient on mac
We can safely remove code applying to 10.3 on mac.
We also should draw the gradient even on non unified toolbars.

Change-Id: Ia97c3c93daf7a711c3ce4b61b74a5eb1d914519b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-03-13 15:16:08 +01:00
Kevin Ottens
03e2ea2ac0 Add convenience for section actions in QMenu
Those actions are just separators having also text and potentially icon.
It is very convenient to create titled sections in a menu, or give a
title to a context menu.

Obviously requires support for them on the style side, but modern styles
like fusion or oxygen handle them just fine. For legacy styles it
properly falls back to a regular separator aspect. That's why a specific
style hint is also introduced. It is used by QMenu to know how the
sections will be treated and take care of them correctly when
eliminating duplicated separators or separators at the beginning of the
menu.

Change-Id: Iad00a93422b7983dc90dfc4b4b1c360122e47610
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-13 15:00:52 +01:00
Friedemann Kleint
bad1918cb4 Fix build with Windows SDKs pre 7.0.
Check whether the IShellLibrary interface exists.

Task-number: QTBUG-29447

Change-Id: I93fc54a1e6d5c090f7c1768c756571ba57a7b2d2
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-13 14:55:53 +01:00
Jan Arve Saether
75614792fa Fixed bug in QTimeLine::setPaused(false)
The problem was that the elapsed timer was not restarted,
causing the currentTime() not being adjusted for the time
it was paused.

Task-number: QTBUG-30108

Change-Id: Ib9b2c5a0dea52762109e0b25f1068dd7c88e15ba
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-03-13 14:51:05 +01:00
Konstantin Ritt
39b4955da3 QTextEngine::itemize(): Minor optimization
Avoid using script_to_hbscript() in generateScriptItems()'s loop.
This is absolutely unnecessary due to hbscript_to_script(script_to_hbscript(..))
in QTextEngine::itemize().

Change-Id: I44e710d010f8e57043a6c74dd80f3164e95e18e6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-13 14:46:26 +01:00
Konstantin Ritt
0194fa135b Hide Harfbuzz from the outer world
Don't export, don't generate private headers, don't mention HB in API.

Change-Id: I048ebd178bf4afaf9fda710a00933b95274cf910
Reviewed-by: Josh Faust <jfaust@suitabletech.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-13 14:46:26 +01:00
Konstantin Ritt
cfa663d62b Avoid using HB types in QFontEngine API
This affects HB_Font and HB_Face.

As of now, the Hurfbuzz API usage is concentrated in qfontengine(|_ft).cpp
and qtextengine.cpp, thus it is a lot easier to switch to Hurfbuzz-NG.

Change-Id: Ie06959efd5d6080fe44c407d9f5de0a07dd1c210
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Josh Faust <jfaust@suitabletech.com>
2013-03-13 14:46:26 +01:00
Stephen Kelly
d89fe1c7b3 Test that the ConfigVersion.cmake files work.
Invoking find_package with a version but without the version
file present results in an error.

Change-Id: I29d662081ad5dbd7b2259abeec06affda97cbb6a
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-03-13 09:48:58 +01:00
Frederik Gladhorn
3372b0faa7 g_thread_init is deprecated
Since glib 2.32 this function is just an empty body.
Fix the warning and don't try to call it. There seems
to be no way to disable threading in glib.

Change-Id: Id30e606d341bd6ef871737275336f6c6b3b2559b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-03-12 23:16:29 +01:00
Oswald Buddenhagen
29daf4ddf9 melt src/tools/tools.pro into src/src.pro
this is done mainly to resolve spurious dependencies, in preparation
for making some tools not bootstrapped in native builds.

as a nice side effect, there is even more parallelization possible now.

Change-Id: I779cf0059c98c65aba8510bf3d24fdab4eeaa863
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 23:11:47 +01:00
Oswald Buddenhagen
0d505b983a remove strange qdoc dependency
it's not quite clear why it was here. probably a vestige.

Change-Id: I6768df717ff9605a5833bcc4db56f486c266ea2e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 23:11:42 +01:00
Rafael Roquetto
ef7c25e848 QNX: Fix build error
This error was caused by a merge

Change-Id: I937ab6ac905ba3a729669060285df6d0c3d5be2f
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Tobias Koenig
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
2013-03-12 18:13:37 +01:00
Oswald Buddenhagen
4d2bf663eb interpret format argument of QString::sprintf() as UTF-8
we expect our source code to be utf-8 throughout, so it doesn't make
sense to expect the specifier to be latin-1, as that limits the
effective charset to ascii.

Change-Id: I22335509ba6c5805d8b264cfd01d7f9a4cf7ef76
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-12 18:13:37 +01:00
Oswald Buddenhagen
b7155b6c07 make QtCriticalMsg fatal if QT_FATAL_WARNINGS is set
if warnings are fatal, then critical messages should be even more so.

Change-Id: I3681fa1fc606337006f1781dd961ea9cf6ce282d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-03-12 18:13:37 +01:00
Oswald Buddenhagen
77057674fb de-duplicate and accelerate code
... by using existing function.

Change-Id: I25e60e70b307885c46b03b6458f06a561976590c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-03-12 18:13:37 +01:00
Oswald Buddenhagen
27b3746b33 fix encoding when invoking default message handler
the output is local8bit, not latin1.

Change-Id: Ib1ab260ac378b354c5ab47856ce6c6c657caefd4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-03-12 18:13:37 +01:00
Oswald Buddenhagen
cca1cca53d fix encoding when printing debug under wince
the strings are in local8bit format, not latin1

Change-Id: I19f20b0310351aacb26b70d8053ed267e710986f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 18:13:37 +01:00
Oswald Buddenhagen
5df9a95d2c don't clobber 8-bit output
otherwise it becomes useless for utf-8.
the output is encoded as local8bit, so it shouldn't be garbage.

Change-Id: I68e59bddb092ac53746f421a90e3803632dbf1c6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-12 18:13:37 +01:00
Konstantin Ritt
f69c9059d6 Replace HB types used in API with Qt analogs
hb_uint32 <-> quint32
HB_Glyph <-> glyph_t
HB_Fixed <-> QFixed, HB_FixedPoint <-> QFixedPoint
HB_GlyphAttributes <-> QGlyphAttributes

Change-Id: I4338ec4ce9a9c20ea591606ab10e6ef4f19931b8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-12 18:13:37 +01:00
Friedemann Kleint
b047f48612 Do not list desktop widgets and desktop screen widgets as top-levels.
Change-Id: Iea4905d802213848594d2ad0266696e5edb884f8
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-03-12 18:13:37 +01:00
Paul Olav Tvete
79d4f5b628 Android: install java-related files
The jar files are deployed on the device. The files in the java directory
are used by creator when making a new project.

Change-Id: Ie59f40edaa9c10044a1ca9949808ee22e6622ea1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-12 18:13:37 +01:00
Paul Olav Tvete
d66fe675ae Android build fix
Apparently, the Linux Perf Counter is not supported on Android.

Change-Id: I38115d140a3ee783bfcd8a984d8832ffe5bbace4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-12 18:13:37 +01:00
Gunnar Sletta
72b87f2992 Compile when EGL headers are located in non-standard location
Task-number: QTBUG-30101
Change-Id: I0fb774392c3d4fc7551ba31d1546788c78ca8afc
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-12 17:05:17 +01:00
Giuseppe D'Angelo
bf3adbcdf5 XCB: support creation of OpenGL ES profiles
The GLX_EXT_create_context_es2_profile extension allows us to create
OpenGL ES profiles even under a desktop OpenGL implementation.
Therefore, if a OpenGL ES renderable type is requested, and we have
that extension, we can fullfill the request.
We also strenghten the renderable types that the XCB plugin
supports (default, OpenGL, OpenGL ES).

Change-Id: I94ecbbaa910ab4c6d71185a69640e79594cb7bdc
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-12 16:02:43 +01:00
Konstantin Ritt
06a65b053e Get rid of qt_determine_writing_systems_from_truetype_bits()
Move this code to QPlatformFontDatabase and get rid of all dups of it.

Change-Id: Idea6c84819039bf3b345b1305305951ade8d1ac4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-12 16:01:35 +01:00
Konstantin Ritt
3cd94fcaf8 QFontComboBox: Minor code optimization & simplification
Change-Id: If536a0b8721bdc562b505fc94a9fe4f77cc619de
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-12 16:01:23 +01:00
Sean Harmer
b80d130a51 Avoid crash in QVertexArrayObject destructor
Change-Id: If43c7b1cfdee504171a26b07db2ade9c20528299
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-12 16:01:20 +01:00
Sean Harmer
771286e01e Add QOpenGLTimerQuery and QOpenGLTimeMonitor classes
QOpenGLTimerQuery encapsulates a single OpenGL timer query object.

QOpenGLTimeMonitor is a convenience wrapper around a sequence of
OpenGL timer query objects that can be used to profile OpenGL
rendering code or to allow real-time adaptation of rendering
methods based upon run-time performance.

Change-Id: I873e591927080dea2b079b0e2a1eb9fed15c0372
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: James Turner <james.turner@kdab.com>
2013-03-12 16:01:14 +01:00
Caroline Chao
a410273fab Fix wrong initial position
If the widget is larger than the screen,
its title bar top left corner will be shown
inside the screen.

Task-number: QTBUG-30142

Change-Id: Id93773874be3616b3ef4b9bee6e1bb751c541d7b
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-03-12 15:59:21 +01:00
Mitch Curtis
c1771a78ed Correct QString's warnings involving QRegularExpression.
Replaces "QRegularExpresssion" with "QRegularExpression" and adds some
auto tests for the warning itself.

Task-number: QTBUG-30054

Change-Id: Iba333a4388795eccca809fb430c295f503794263
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-03-12 11:43:01 +01:00
Mitch Curtis
6bc691dde5 Revert 6497649730 and clarify docs.
It introduced a regression by requiring that a p/P was also present:

QTime time = QTime::currentTime();
qDebug() << time.toString("h:mm:ss a");
// Outputs "10:05:42 am" in Qt 4.8.
// Outputs "10:05:42 a" with 6497649730.

This patch also clarifies the QTime::toString(QString) documentation.

Change-Id: I4d73a959c2ca76304f03a4ce9717b540ad4e8811
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-03-12 11:43:01 +01:00
Giuseppe D'Angelo
ec9c0faefd Update gl2ext.h with the latest version from Khronos
This adds (amongst other things) the support for the
GL_KHR_debug extension, which is required by QOpenGLDebug
classes.

Change-Id: Id8b80968807e4f3db7eebd8cc9d9beae23b5d7e2
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-12 09:16:42 +01:00
Giuseppe D'Angelo
381566445e Reset the X error handler after initializing GTK
It turns out that we were setting the error handler to a dummy one in
qxcbconnection.cpp, but GTK then overrides it to an handler that calls
exit(1) on errors. This causes problems as we are relying on the
glXCreateContextAttribsARB call to fail when creating an OpenGL context,
so we need to reset the handler after GTK initialization.

Change-Id: I9bc3eb2480abfd3740884cb0000b9180d2cf37a5
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-12 09:16:42 +01:00
Giuseppe D'Angelo
6b821a3dc8 QRegularExpression: refactor the handling of the study data
Consider the following situation:
- threads A and B have shallow copies of the same QRegularExpression
- threads A and B both call match() on a string
- thread A calls optimizePattern(), which doesn't optimize
- thread B calls optimizePattern(), which does optimize, and sets
  studyData
- thread A uses studyData (set by B)

A needs to properly acquire the memory pointed by studyData
(which, in turn, needs to be released by B). This commit implements that.

(Before, we used to return a copy of the current studyData from
optimizePattern(), so A didn't see that B optimized the pattern
and set studyData).

Change-Id: I9e4741a3d3229905c247491a07099519815680bb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-12 09:16:42 +01:00
Volker Krause
14b2d4cd38 Build with GL headers in non-standard locations.
Change-Id: Icd5fdfeea8e2642ee68ec1811c6a6ce9205b7e00
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-12 09:16:42 +01:00
Andy Shaw
39a902c008 Add support for setting/getting the paper name on the QPrinter
This adds support for specifying a paper name which will be set on
the printer if it is available for the driver.

Change-Id: Id7fd0c8cf68745db3d7a8de7e2ac98d3e2ba9b79
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2013-03-12 09:16:42 +01:00
Friedemann Kleint
cd035286c5 Silence warning about unused fields in test event (CLANG).
Change-Id: I8e05fc9b8820136a7714219627dbdae300af0b0d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-03-12 09:16:42 +01:00
Friedemann Kleint
9c6239e0c1 Fix warning about unhandled enumeration value.
Change-Id: Ic22a9bddfa04c286f359bc29e1d5d1ec8ef98ecc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-03-12 09:16:42 +01:00
Friedemann Kleint
324e01aa72 Fix MinGW-64-warnings about cast from DWORD to HWND.
Change-Id: I16580f58fda56b18a7611f94f7359e3ceeb65c69
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 09:16:42 +01:00
Friedemann Kleint
323a2bff2c QApplication: Fix MSVC-warning about unused variable q.
Change-Id: I44f34816cb18583fcbbab0a6c79b313a829d9236
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-03-12 09:16:42 +01:00
Friedemann Kleint
da672eba99 Windows: Use arrow cursor for toplevels with no cursor set.
Fixes unsetting the cursor in Qt Quick Controls.

Task-number: QTBUG-28879

Change-Id: I049beafaa723f6e782df872f14c09b7f927e70ac
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 09:16:42 +01:00
Shawn Rutledge
268972999a Documentation and versioning for new Window properties
Task-number: QTBUG-29807
Change-Id: Id03ae17270832a7b5915e4324a508e591c0b6d98
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
2013-03-12 09:16:42 +01:00
Paul Olav Tvete
5e907919d7 Android: Allow more than three touch points
Now that we do not support Android versions below API level 9, we
can use the modern multi-touch functions.

Change-Id: I5887b4c35f9e02089a334526cebecf0cf767bd6c
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-03-12 09:16:42 +01:00
Eskil Abrahamsen Blomfeldt
638d9d3831 Fix multi-touch input on Android
The touch events were collected but then thrown away because of
a missing port of he handleTouchEvent() function call.

Task-number: QTBUG-29126
Change-Id: I02f7380945be04a36da14a89f2f3ff9429b17cbc
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-03-12 09:16:42 +01:00
Kai Koehne
124da59cb4 Fix static builds with ICU
Make sure we actually link against the static version of the ICU libs for
static builds.

Task-number: QTBUG-29478

Change-Id: Ida7b439f11c5393bee43bfe804f9ec84bf272b34
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 09:07:38 +01:00
Tor Arne Vestbø
eef7a68acd Disable PCRE JIT on iOS
First of all, we were missing an implementation of SLJIT_CACHE_FLUSH,
as ___clear_cache was not available and we would get missing symbols.

This was fixed in upstream PCRE 8.31, but even then the JIT would
only work on jailbroken devices, so we disable it.

http://bugs.exim.org/show_bug.cgi?id=1243

Change-Id: I678f9a31eb76d7d08882465befb9d799e46e7cf8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-03-12 01:21:15 +01:00
Frederik Gladhorn
72e5124b85 Merge remote-tracking branch 'origin/release' into stable
Conflicts:
	tests/auto/opengl/qgl/tst_qgl.cpp

Change-Id: I3c601351c984c1f4b00478d3c47ac9eeb021e892
2013-03-08 16:11:33 +01:00
Martin Smith
a19c22ebf8 qdoc: Initialize an uninitialized variable
qdoc already ignores QML signal handler comments
and does not report errors for missing QML signal
handler documentation. but the test case for this
bug revealed a separate bug. The test case contains
no import statements, which, technically is legal
but probably won't happen. Still, qdoc failed to
generate output for the test case QML file because
it didn't contain an import statement before the
first qdoc comment. This was caused by an
uninitialized variable, which has now been fixed.

Task-number: QTBUG-30043
Change-Id: Iafa2087b85a6c9e354b2be86c779bbd191181218
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-03-07 11:27:49 +01:00
Laszlo Papp
0e8520d18f Update the documentation for C++11 initializer lists support
The documentation was written for 4.8 when the C++11 standard did not have the
name yet.

Change-Id: I08640a5ae62385b09e181eefafd4cc831e4de456
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-03-07 11:14:20 +01:00
Samuel Rødal
341fb50d5b Fixed android-no-sdk build by excluding platformsupport/jniconvenience.
Change-Id: I02e45523a0e35aad3afdbef4a4b3a00de32663f3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-07 09:18:53 +01:00
Samuel Rødal
c2f17ad937 Fixed build of SSL when using android-no-sdk.
Introduced Q_OS_ANDROID_NO_SDK which makes more sense than
Q_OS_LINUX_ANDROID when Q_OS_ANDROID also defines Q_OS_LINUX.

Change-Id: Id2aa228b66daffba82776a12c91a264a360afd86
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-07 09:18:43 +01:00
Axel Waggershauser
6b68be9587 Let QMetaObject::connectSlotsByName(o) also check for signals of o
QMetaObject::connectSlotsByName(QObject* o) creates a list of all
children to look for signals that match slots of o. This changeset
simply adds the object o itself to that list.

The motivation is to finally fix the long standing QtCreator bug
QTCREATORBUG-6494. Where executing 'Go to slot...' and choosing
'accepted()' for a simple QDialog named 'MyDialog' will add a
on_MyDialog_accepted() slot to MyDialog. That slot never gets
connected. More details may be found in the linked QTBUG-7595.

Task-number: QTBUG-7595
Task-number: QTCREATORBUG-6494

Change-Id: I35f52761791af697eabb569adb5faee6fae50638
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-07 08:37:26 +01:00
Thorbjørn Martsum
3222db0937 QVector - removeLast optimize
In case somebody uses QVector as a stack, it is not fair to have
takeLast, removeLast and pop_back to do way too much work.

This is still very slow compared to std::vector::pop_back
(mostly due implicit sharing), however it is more than a
factor faster than before.

Change-Id: I636872675e80c8ca0c8ebc94b04f587a2dcd6d8d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-07 08:37:26 +01:00
Thorbjørn Martsum
ab52e72292 QVector - add functions takeFirst and takeLast
This patch adds takeFirst and takeLast which are functions
that QList also has.

Change-Id: I761f90b529774edc8fa96e07c6fcf76226123b20
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-07 06:13:06 +01:00
Thorbjørn Martsum
510660080d QVector - add remove functions
This patch adds the functions removeFirst() and removeLast().
Functions that QList has.

Beside making these functions, pop_back and pop_front are
redirected to these rather than calling erase.

Change-Id: Ifc5f8a78e33f436f06f21095a920ec5d4311fd6f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-03-07 06:12:59 +01:00
Samuel Rødal
a12f6ba302 Fixed dashes being rendered differently depending on system clip.
We need to clip lines to the unclipped device rect in the case of
dashing, since otherwise the dashes will be shifted and rendered
differently when partial repaints are done.

Task-number: QTBUG-24762
Change-Id: I3599b54baa552acc20bf8cc2e12f846b45f6019e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-03-07 02:54:08 +01:00
Mitch Curtis
a8c6708260 Correct QLocale(const QString &) documentation.
Change-Id: I6430ff2636083204fa12437980626260f848e269
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-03-07 00:44:21 +01:00
Thiago Macieira
408fa1e2b9 Add support for attributes in the -perfcounter argument
Five attributes are supported, matching what the perf(1) tool
supports. The 'p' attribute (precise IP reporting) wasn't added
because we don't do assembly-level debugging with benchlib.

Change-Id: I726f735a5bcc0c97e62cde0fbe0843597068ad7c
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-06 21:50:28 +01:00
Thiago Macieira
3963ab9d73 Store the performance counter attributes globally
This will allow us to modify more attributes from the command-line

Change-Id: I84d4933cbfa2b69c4e1009eaf3e005cfc3e7e01c
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-06 21:50:28 +01:00
Thiago Macieira
914b56dbf5 Add support for the cache-related operations counters in benchlib
This adds support for checking cache accesses and misses, per
operation (read, write and prefetch) as well as per cache level (L1
for data, L1 for instructions, last level).

The branch prediction unit (BPU) is also accessed via the cache
monitor subsystem.

Change-Id: I8fa96b141cc777c9d231bd57fa36bca33ae7bdfd
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-06 21:50:28 +01:00
Thiago Macieira
051f68c2d3 Add support for more performance counters in QBenchlib
Added support for most hardware and software counters available on
Linux 3.3. The cache-based counters are missing because they need
special handling.

Also added an option that lists available counters. Note that the list
is of counters the library knows about, not the counters that the
hardware can measure.

Change-Id: I9f6fb09b5460bf4ac6082081611c1d6ff806a3fa
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-06 21:50:28 +01:00
Thiago Macieira
93fe3895cf Add more events for QBenchlib, based on the Linux perf counters
Change-Id: Ic7e7e122bfe3995eb7ea033c744fd501579ea8fa
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-06 21:50:28 +01:00
Thiago Macieira
c63420a117 Implement the Linux Perf Counter backend for benchlib
Currently, we only support one event type: counting CPU cycles with
hardware counters. There are no fallbacks if this hardware counter is
not available, and there is currently no way to specify other
counters.

Benchlib only supports reporting one event per benchmark, even though
the event counter interface allows specifying more than one. Still,
the hardware usually has limitations on how many events it can monitor
at a time, and we'd prefer to have the counter running at 100% of the
time, so this will not change.

Change-Id: I79858a3ad1e696dc4b7b72c420e5a04b67cd55de
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-06 21:50:28 +01:00
Thiago Macieira
9d72259f94 Add the skeleton Linux perf events counter for QtTest
Currently, it only prints "perf available" if you use the -perf option
and perf is available. The implementation comes in the next commits.

Change-Id: Ic6cdee70e21df25780799a4bc31ca2c2d923b9f8
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-03-06 21:50:28 +01:00
Thiago Macieira
24f059eed0 Import the Linux header linux/perf_event.h
Imported from linux's own git, at v3.7:include/uapi/linux/perf_event.h
(blob SHA-1 is 4f63c05d27).

We cannot rely on the file being shipped by distributions. Older
versions did not have all fields in the perf_event_attr structure. If
those bits are enabled at runtime, the kernel will simply reject the
perf_open call (-EINVAL). Currently, this can only happen with the
non-default options exclude_guest and exclude_host.

Change-Id: Ib329e52c21d6969406da0cf33de823d721d94206
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-03-06 21:50:28 +01:00
Kevin Ottens
2d1f3d7c51 Add methods to convert lists of QKeySequence to/from strings
QKeySequence provides conversion to and from strings. But a similar
convenience was missing for QList<QKeySequence>. It would come in handy
when you want for instance to save/restore the shortcuts of a QAction.

Change-Id: I9e4f2001c58a595392a5019a57c564992c39bf88
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-03-06 21:50:28 +01:00
Friedemann Kleint
c4a07f039d Aero-Style-QWizard: Hide/Show back-button correctly.
Task-number: QTBUG-29904

Change-Id: Id832594be4bc15c868f11bd762390803c8f9c158
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-03-06 21:50:28 +01:00
Friedemann Kleint
3fa77de5c9 Aero-Style-QWizard: Fix drawing when used as a child widget.
Introduce function to retrieve HDC with transformation.
Paint Vista-style items at correct location when used
as a child widget (for example, in Qt Designer).
Disable special drawing that works only for top-levels.

Task-number: QTBUG-29904

Change-Id: Ic902fd30e8050317b24ab7f7e2757ef1e16407f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-03-06 21:50:28 +01:00