Commit Graph

21718 Commits

Author SHA1 Message Date
Andy Shaw
a07120d496 Don't clear lineedit in non normal echo mode when validation is invalid
This fixes a regression introduced with
c09e9f71173a698670d6c728291ee24f53d50800 which caused the lineedit to
clear the whole text when an invalid character was entered into a lineedit
with an echo mode that was not Normal and a validator was set.

Now if undo() is called directly then it will still clear the text as it
is considered to be called as a user. Whereas the validation will take
care of the invalid entry by using internalUndo() as before which avoids
the clearing of the entire text.

Task-number: QTBUG-29318
Change-Id: I5ff5777a75ab864de2217441b5f518f50646bd8f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-12-19 15:55:07 +01:00
Andy Shaw
7393bb0af4 MSVC: Restore 'public' accessibility of QMetaType member functions
They were made 'private' as a side effect of a change enabling
support of template friends for MSVC. However, accessibility
is part of the MSVC's name mangling and thus BC was broken.

[ChangeLog][Important Behavior Changes] Restored binary
compatibility with Qt 5.3.2 on Windows when using MSVC 2012 or
MSVC 2013. This means that Qt 5.4.1 is no longer binary compatible
with Qt 5.4.0 when using either of those compilers.

Change-Id: I18679aa15821a7365606dc80fdc8411641573820
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-12-19 09:15:30 +01:00
Martin Smith
7869ee5b9d qdoc: Fixed broken TOC links to Reimplemented sections
This update fixes some links in the table of contents on class
reference pages. Links to sections of reimplemented functions did not
work because the word 'reimplemented' was not included in the anchor.
This update fixes that bug.

Change-Id: Ifae972c45ebf6c81e865cfb36f645ea42d74cf55
Task-number: QTBUG-42237
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-12-19 08:07:55 +01:00
Alejandro Exojo
2bd8443663 doc: Fix mistake in QProgressBar::orientation
Reported on qt-interest: should say "true" instead of "false".

Change-Id: Ic9d2608631679896179ae8601790847163a9224c
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2014-12-19 01:54:44 +01:00
Thiago Macieira
7fad14f4e2 tst_qlogging: add tests for %{pid} and %{threadid}
Since those are unpredictable, there's little we can match, besides the
"0x" for the QThread pointer. For the PID, at least we can compare it to
the value from QProcess.

Change-Id: I89420306863b95c82be761baabd733a7f17eba5e
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-19 01:54:41 +01:00
Robin Burchell
eb2014382b Long live the TuioTouch input plugin!
This is an import of the tuio2qt plugin (https://github.com/rburchell/tuio2qt),
as of sha 9b1f163ac52ea440e83f16b3906f9b55e21b87be henceforth to be developed as
a part of Qt itself.

This plugin offers touch events via QPA interfaces, using data offered over the
TUIO protocol (http://www.tuio.org).

It is useful for accepting touch input on devices which otherwise don't have
touch input (such as desktops) for the purposes of development, as well as
accepting input from some hardware which offers up touch events specifically
over the TUIO protocol.

Known "shortcomings" at this time, as documented in the README:
 * Multiple TUIO sources sending data at the same time will conflict. This will
   not cause problems, strictly speaking, but it will not work well (repeated
   touchpoint release/press events for the same IDs)
 * TCP transport is not currently supported. I don't see a need for it at this
   time, but I have left the capability in terms of port acceptance open for it
   to be made available.

Change-Id: I7178f9db13c635268db8460fbe4d4ea6be654c05
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-12-19 00:01:15 +01:00
Thiago Macieira
0cd1ed0883 Fix running tst_qmessagehandler when QT_MESSAGE_PATTERN is set
This test fails if the environment has the variable set.

Change-Id: Ibd54ff3e6e22a885341898889088ac56e84282b1
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-12-18 22:17:36 +01:00
Simon Hausmann
622df95fee Prospective stabilization fix for tst_qwindow::positioning(default)
Our theory for the failure of framePosition() not having the expected
value after setFramePosition towards the end of the test is that we try
to call setFramePosition() while the getting-back-from-fullscreen-to-normal
window animation is still running, at which point the compositor may
just choose to ignore our move request.

Similarly to when going fullscreen, also wait when coming back from it.

Change-Id: Icfc92f277d96dccdfad772c4aac252b2a20c6196
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-18 17:56:03 +01:00
Simon Hausmann
f7716732a5 Remove direct linkage to dbus and qdbus
It appears that there is no code in the plugin that actually uses dbus.

Change-Id: I654cf0b8f5ecc018f2c6ae8701220f7496915a60
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-12-18 14:45:50 +01:00
Allan Sandfeld Jensen
c4bee2c47f Revert "Fix printing of semitransparent images to PDF"
The patch was incorrect and caused semi-transparent images
have inversed colors instead of fixing it.

This reverts commit 624740cdcd.

Change-Id: I3f1fa17309fcb53995520843449aae972e0090b8
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-12-18 14:42:19 +01:00
Simon Hausmann
e281537f20 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/platformsupport/platformcompositor/qopenglcompositor.cpp
	src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp

Change-Id: I5422868500be695584a496dbbbc719d146bc572d
2014-12-18 12:12:58 +01:00
Roger Maclean
627afca13c QNX: Handle the case where screen returns a refresh rate of 0.
Screen sometimes returns a refresh rate of 0.  This has been observed
on VMWare though it is unknown if this is always the case and whether
it happens on other platforms as well.  Returning a refresh rate of
0 causes animations to fail so we're better off returning a value that
might be wrong than returning 0.

Change-Id: I4846017bcb0d6bd52faad727df4ef6dac1a6250f
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-12-18 11:35:30 +01:00
Rafael Roquetto
1acb774b2b Remove unused code from QFontEngineFT.
This method is not being called anywhere.

Change-Id: Ia32e8b48d324e4848db666de4d274a260d22b06d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-18 11:23:00 +01:00
Alexander Volkov
8a075c4057 xcb: Don't return 0 from QXcbKeyboard::possibleKeys
It's possible to get 0 for baseQtKey in case Caps Lock is used as
a layout switcher. So don't include this value in the result.
Similar fix was in commit d904533acb.

Task-number: QTCREATORBUG-9589
Change-Id: I46fc91f9faf6fd0699f062a72fd2ca3187232f5a
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-18 10:47:56 +01:00
Topi Reinio
9290383a1e qdoc: Remove zero-width-space characters from function signatures
The extra character was added in 5.4.0 to allow web browsers to
break up long function signatures in a nice manner. However, not
every browser supports it, and it causes problems in some code
editors when copy-pasting the code.

Change-Id: If6a52b92d683788c5e32f40bb8c280d76112723e
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-12-18 10:31:16 +01:00
Dmitry Shachnev
15cc31c013 QPlatformSystemTrayIcon: the timeout is in msecs, not secs
What gets passed to this function is in milliseconds, not seconds (see
QSystemTrayIconPrivate::showMessage_sys_qpa implementation), and the only
currently existing implementation (in KDE frameworkintegration) expects
milliseconds as well.

Change-Id: I7a2c847530391aa73183704251c996664668a740
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-18 10:18:23 +01:00
Lars Knoll
384558d78a Qt OpenGL is deprecated with 5.4. Show that in the docs as well
Change-Id: Idadf24d5331443d2c947a633029c7d4ea2305caf
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-12-18 09:48:37 +01:00
Marko Kangas
84569773db Fix OS X style MDI area subwindow resize
Fixed regression bug of the commit #fc11798

Change-Id: I3d64fd67dfe2196a726886a19b9510dd12ff255d
Task-number: QTBUG-43392
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-12-18 09:46:52 +01:00
BogDan Vatra
14e2d8cc09 Update gradle build script.
Change-Id: If5142c039b6307660402f1dbd30ded75e12f8c50
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-18 09:46:31 +01:00
Laszlo Agocs
6c2da36c22 Prevent continuous painting with viewport QOpenGLWidget
Add the source widget to the texture list (may be null for custom
compositor implementations that add textures not belonging to actual
widgets). This allows us to do proper checks with the
dirtyRenderToTextureWidgets list.

As a result paint events are only sent to a QOpenGLWidget if (1) there
was an update() for it or (2) it was actually marked dirty. (2) was
previously behaving differently: the widget got a paint event when
anything in the window has changed. This is fine for naive animating
OpenGL code but less ideal for QGraphicsView.

Bool properties like stacksOnTop are now stored in a flags value to
prevent future explosion of texture list fields and parameters.

Task-number: QTBUG-43178
Change-Id: I48cbcf93df72ac682c9b5d64982a8b648fe21ef3
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2014-12-18 09:46:23 +01:00
Alex Blasche
b8e71aa847 Qt should not print warning unless we have an API miss-usage case
This warning is always printed.

Change-Id: I524011f251f7f7e0d76eb94b16e1511e72f26422
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2014-12-18 09:46:14 +01:00
Alex Blasche
8eb4b281d9 Change bugreports.qt-project.org -> bugreports.qt.io
The Qt bug tracker URL changes as part of the qt.io transition

Change-Id: Icb4ab198943b93639b5e3a8d99262303785c6459
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-12-18 09:46:09 +01:00
Eskil Abrahamsen Blomfeldt
2dbbff0364 Build Android style on Windows host
The Windows configure application was missing the logic to enable
the Android style, so this was missing from the Windows packages.

[ChangeLog][Android] Included Android style on Windows hosts.

Task-number: QTBUG-43302
Change-Id: I6a1423d58d00e7b4d4fd0a3d1a12cce10aa2fc91
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-12-18 09:43:19 +01:00
Eskil Abrahamsen Blomfeldt
9f63e2dc0e Fix PDF when embedding fonts with large internal leading
Setting lfHeight to a positive value in LOGFONT requests the font
with the given cell height, which is em square size + internal
leading. When setting this to the em square size, it means we
will get glyphs that are actually sized for an em square with
sides that are (emSquareSize - internalLeading). For most fonts,
this was not noticeable, but for some fonts with large internal
leading, the resulting glyphs would be very small.

When setting lfHeight to something < 0 instead, we are selecting
the font with the given character height instead, which is not
including the internal leading.

[ChangeLog][PDF] Fix embedding glyphs from fonts with large
internal leading.

Task-number: QTBUG-43082
Change-Id: Id74cf2279df2062804e9431fe305d803cb0b19d2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-12-18 09:43:13 +01:00
Simon Hausmann
bfbb985ed5 Add some debug information to tst_qwindow
The test still fails sporadically at a new place, so this adds some
debug information when it fails to may help us identify what is going
wrong.

Change-Id: Ife0f171299ef7e800a2d808602e76ca2f3885964
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-18 09:41:36 +01:00
Friedemann Kleint
7f6c4390ec Windows: Return false from event processing of unhandled multimedia keys.
Otherwise, potentially active players no longer receive the keys when
a Qt application is running.

Task-number: QTBUG-43343
Change-Id: Iefa511a101734690305e3244fafec4a460a9212d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-18 06:33:24 +01:00
Friedemann Kleint
c07559bf5b QOpenGLContext: Use static invocation of QGuiApplication::platformNativeInterface().
Fix MSVC warning (release build):
qopenglcontext.cpp(1116) : warning C4189: 'app' : local variable is initialized but not referenced

Change-Id: I00fa5237bbac4c0e3bb63ea9d3e5096e05dbe1be
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-18 06:32:39 +01:00
Arnaud Bienner
e0a8b5ce88 QHeaderView: check that length is correct during restoreState.
Length is supposed to be equal to the section items length, but the state saved might be corrupted.
If so, print a warning, return false and don't restore this corrupted state.

Change-Id: I4d3dfec528a65fc81ed70d1c8cc69c11faf414e0
Task-number: QTBUG-40462
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-12-17 20:32:13 +01:00
Tony Sarajärvi
dd91e1bc4d Blacklist ioGetFromHttpBrokenServer:no-newline
Task-number: QTBUG-43388
Change-Id: Ie589d72723520152a4cdb28b2fe40e3013b0dd50
Reviewed-by: Simo Fält <simo.falt@theqtcompany.com>
2014-12-16 14:36:16 +01:00
Sérgio Martins
2746fe4243 QColorDialog: Fix matching against predefined colors.
The grids are filled top to bottom, left to right, so use division to get
the column.

Task-number: QTBUG-43371
Change-Id: I02ad518512858ed71e0e3a0cae8c4e02d537a9b9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-16 13:44:40 +01:00
Andrew Knight
affba56094 remove unsupported winrt mkspecs
These mkspecs are not supported and no longer compile. Related support in
qmake has also been removed.

Change-Id: I7706dcfa5471e55e2ae3d580d65e9371e2c652d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-16 11:56:26 +01:00
Jørgen Lind
e746f14d4d Add default path to CFLAGS for OpenGL
As of 6cec75a730 we use pkg-config to
pickup OpenGL. Some OpenGL implementations list additional directories
to be used as include directories in CFLAGS. Up until now, if this has
been empty, then the default path has been used. Now that there may be
additional directories, the default include path is not used, which
causes gl.h to be picked up.

Task-number: QTBUG-43377
Change-Id: I86e995cb8d718724a75d9f3f5713e87451fd7129
Reviewed-by: Simo Fält <simo.falt@theqtcompany.com>
2014-12-16 11:48:40 +01:00
André Klitzing
87ede1fc7a Fix constant "Qt" LOG_TAG in Android
The LOG_TAG for Android can be set by QCoreApplication::applicationName
instead of a constant "Qt" tag. This will avoid that multiple apps
will use the same tag.

Also it will be easier to filter the logs for different apps instead
of "adb logcat -s Qt" for all Qt apps.

Change-Id: I422cc3adf8b526634b5daa9a1bb1b90403de5618
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-12-15 21:24:02 +01:00
Eskil Abrahamsen Blomfeldt
19bb9aa9e5 Fix possibly corrupted log clusters when using custom tab stops
The calculateTabWidth() can trigger shaping of the item, which can
cause the layout data to be reallocated, so we need to update the
local pointers to it, like we do when we explicitly invoke the
shaper.

[ChangeLog][Text] Fixed problems with text layout when using custom
tab stops.

Task-number: QTBUG-43126
Change-Id: Ifaeeeb4bfb1a55e6638b12b444f53d2679d3d1e6
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-12-15 21:02:12 +01:00
BogDan Vatra
21101d9c52 Fix crash when Android Style is set more than once.
Load again JSON document is it was freed.

Task-number: QTBUG-43111
Change-Id: I22f1de221371b49fec8b3d66ad5f0bd2af9656fe
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-15 14:16:11 +01:00
Laszlo Agocs
c3f619069a Unbreak shortcut handling on embedded
It went completely broken after the fix for QTBUG-32928. The crash fix I made
afterwards forgot to take into account that the shortcuts must still be handled,
even when the window in the input event is null. So instead of bailing out on a
null tlw, we have to use the window that currently has the focus.

Task-number: QTBUG-43203
Change-Id: I6cd65ee5bd021f80d9440cba8bc9dfda9abe2cfd
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2014-12-15 12:22:34 +01:00
Maurice Kalinowski
3466950837 [ANGLE] Fix compilation with MSVC2013 Update4
Update4 provides a native Sleep implementation. Hence the wrapper
needs to be disabled.

Change-Id: I162da45934b02c262ac09b557c66c3363c276e54
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-15 09:19:48 +01:00
Sean Harmer
c514572f09 Fix corner case in preprocessor of QOpenGLShaderProgram
The preprocessor used in QOpenGLShaderProgram to help with determining
where it should add the #line and other #define directives is broken
when parsing the standard Qt Project copyright header.

In a multiline comment if the preprocessor encounters repeated '*'
characters when in a multiline comment, it toggles the state between
MultiLineComment and CommentEnding. This is wrong as every asterisk is
potentially the one before the closing '/' of a multiline comment.

This change fixes this by only going back to the MultiLineComment when
in the CommentEnding state if the character is not another '*'.

Task-number: QTBUG-43240
Change-Id: I114e933026ba5de1c23f3e0399613def59f44961
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
2014-12-15 08:47:37 +01:00
Jørgen Lind
ec9104a71d Xcb: remove compile warnings
Change-Id: Ieb3ccd18a2bdde9ef7628a031266004cd55480da
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-15 08:35:46 +01:00
Tor Arne Vestbø
1cc83b575d Make GL2PaintEngine::drawCachedGlyphs use updateTexture
Ensures that we have a consistent view of what the last used texture
was, which is critical when deciding whether or not we need to re-bind
the texture or update texture properties.

Change-Id: Ib47eb00abde98d148fc6e569ce3e359b340328fb
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2014-12-14 17:09:58 +01:00
Jørgen Lind
6cec75a730 Add a compileTestWithPkgConfig helper function to configure
... and use it with the opengl compile tests.

Change-Id: I402574be332e41c721a758e63a233d193224f16b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-12-14 12:24:16 +01:00
Sean Harmer
0d49ebdf30 GLSL #version directive does not have to be at start of line
The #version directive detector of QOpenGLShaderProgram is using an
incorrect regular expression to detect the #version directive in the
preprocessed shader source code.

It is allowed to have whitespace before the #version.

Task-number: QTBUG-43240
Change-Id: If60670f49cb40148e5e7fbe6da6c798e8f636c3d
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2014-12-14 09:59:12 +01:00
Konstantin Ritt
a69b2c0168 [QStaticTextItem] Drop unused members
The QStaticTextItem's `chars` and `numChars` members are never used,
even when set. In fact, there is nothing useful we can do with the input
string in the absence of clusters mapping.

Change-Id: I81fcbce3e575f4d0dcfc2515286d512b858f592b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-12-14 05:29:25 +01:00
Alex Trotsenko
5c5e4582d6 QTextStreamPrivate::scan(): remove unnecessary checks
The delimiter search scan() loop detects a device or string reaching
the end of input and size limits. After that, 'false' is returned only
when no data was read at all. So, there is no a reason to test anything
except 'totalSize'.

Change-Id: Ib9cc21c0f4b7863c2dafb1bb074c5cda07387b8f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-12-13 09:37:26 +01:00
Jeremy Lainé
14d1097f45 ssl: store socket in setEmptyDefaultConfiguration
The setEmptyDefaultConfiguration test creates a socket and connects its
sslErrors signal to tst_QSslSocket's ignoreErrorSlot slot. This slot
expects the socket to have been stored in tst_QsslSocket's "socket"
member, which was not being done. This patch fixes this problem.

It does beg the question of whether having a "socket" member in the
tst_QSslSocket class is a good idea as it is error prone.

Change-Id: Ic59d1789c5f1ed240c3f0c37981f6ecc35572f0d
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-12-13 08:32:19 +01:00
Sérgio Martins
37fa842f41 QColorDialog: Fix picking screen colors inside QColorPicker
If you click "Pick screen color" and move mouse over QColorPicker (the square with gradients)
unexpected things will happen: black will be picked half the times.

This is because QColorPicker's black cross is painted under our mouse cursor.

Although "pick screen color"'s use case is to pick colors in other windows, there's no reason
to not make it work on QColorDialog itself too.

Task-number: QTBUG-43288
Change-Id: I03ca02148cc15ad41d545723d4ac4f5a82842b4b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-13 05:39:12 +01:00
Thiago Macieira
dc469691a9 Bump version number to 5.4.1
Change-Id: I54231de422ffc63162e49c587f371c56c3312210
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-12-13 05:12:17 +01:00
Thiago Macieira
a670b916b0 Add the C++11 features supported by Visual Studio 2015
Tested with the November 2014 Preview.

There are three C++11 features that aren't supported as of MSVC2015:
 - attributes
 - constexpr
 - uniform initialization

Microsoft recognizes that constexpr support in this compiler is partial,
so we don't enable it yet. Attributes are not implemented at all.

As for uniform initialization, Microsoft's feature list says
initalizer_list is supported, but we still see compile errors trying to
initialize arrays in constructor initialization lists.

Change-Id: Id686ccb6b4b2ecd63f16d308552174db1f05f2c5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-12-13 05:11:34 +01:00
Thiago Macieira
ce1c53b413 Add detection of and support for Visual Studio 2015
Tested with the Preview release of November 2014.

Differences to the 2013 detection and support:
 - Option -Zc:strictStrings is present in both debug and release mode
   and is passed to qmake's own build
 - New warnings 4456, 4457 and 4458 (shadowing) are disabled
 - Compiler supports -arch:AVX2

Change-Id: I9572ff4d4aded4004c1fa5d6f13ffee5462043d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-13 05:11:25 +01:00
Thiago Macieira
c23d1c7695 Create a common qmake configuration for all MSVC versions
Most files are exactly the same, so it's silly to duplicate this all
over. The differences could have been kept in each of the qmake.conf
files, but I preferred to centralize because they apply to each newer
version and, soon enough, version-specific configuration would grow
again.

Change-Id: I5c5ed58055c954acf4851d87c70cc5af49c98738
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2014-12-13 05:11:16 +01:00