Commit Graph

12489 Commits (3683bc97d2ebc0de3272fc09656b90a88f5eb326)

Author SHA1 Message Date
Richard J. Moore 3683bc97d2 Add accessors for the build-time version of openssl.
Many bugs originate due to mismatches between the build-time and
run-time versions of openssl but they're hard to debug as we don't
provide access to the build-time info. This addresses that weakness.

[ChangeLog][QtNetwork][QSslSocket] Added accessors for the version
of openssl used at build-time. This will help when debugging
problems caused by a mismatch with the run-time version.

Change-Id: I6a4c21c8f16ab4c90cdf166f38c62fe37bf1f165
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-03-10 22:18:35 +01:00
Richard J. Moore 233a2f37bf Add support for finding the version of SSL/TLS in use.
Previously we allowed you to specify which version(s) you wanted to use,
but did not provide access to the version that was actually negotiated.

[ChangeLog][QtNetwork][QSslSocket] Add support for finding the version
of SSL/TLS in use by a connection.

Task-number: QTBUG-28471
Change-Id: I6d50d2bc9f1ce7f98192e67992178fe7e41c0575
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-03-10 22:18:23 +01:00
Adrian Perez de Castro 8f17d622b0 MIPS: Fast path for rgb888 to rgb32 conversion
Add a hand-coded MIPS assembler function to convert a stream of rgb888
bytes to an array of 32-bit ARGB values. This is used in QImage for
image conversion, and also in QJpegHandler for decoding JPEG image
scanlines.

Change-Id: Ia74a5ff799b29fad3d4acbfcafe790cd60586d72
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-06 17:41:04 +01:00
Marc Mutz bc84e7cd43 QWizard: use less stack space
There will hardly ever be 512 buttons in a wizard dialog, so specify
a somewhat saner preallocation number for the QVarLengthArray, e.g.
the number of available buttons.

Yes, there's also Stretch, but it's unlikely that _all_ buttons
plus stretch are used in one dialog, and QVarLengthArray will
fall back to the heap in that case, of course.

Change-Id: Ida09ab73340e9fb2aa80db37aeed8b8476ffe7fe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-05 00:57:22 +01:00
Giuseppe D'Angelo d85983ece7 Introduce Q_DECL_CONST_FUNCTION and Q_DECL_PURE_FUNCTION
That expand to __attribute__((const)) and ((pure)). A "const" function
is a function allowed to examine only its arguments, without modifying
them. A "pure" function is also allowed to read memory.

Currently working only on GCC/ICC/Clang, MSVC lacks these.

Change-Id: Ie60a0847b193fb88e116f61611dc571296a3df1c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-03-03 23:02:24 +01:00
Jan Arve Saether b72880d213 Also cache totalBoxes if we have HFW/WFH
Change-Id: Iea71c11b88df84b9c0949b1020a6bcc5395d62de
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-03-02 21:41:55 +01:00
Giuseppe D'Angelo 718c5eafa0 Make QChar::unicode constexpr
Change-Id: I93fe2ace0aeaa29c86ef97e622d3ab28095eac89
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-03-01 23:23:12 +01:00
Marc Mutz 12372960f8 Add qHashBits(), a hash function for a memory block
The function arguments have been chosen to avoid caller-side casting of
argument types, when passing object addresses and type sizeof()s.

[ChangeLog][QtCore] Added qHashBits() to aid implementing qHash() overloads
for custom types.

Change-Id: I983a8560769bb27e489f23ebb6db51850ddd65f2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-28 21:27:41 +01:00
Friedemann Kleint f4ffe2a243 Enable menuless dialogs on Windows.
Handle the flags combination Qt::Dialog && !Qt::WindowSystemMenuHint
such that it results in exStyle = WS_EX_DLGMODALFRAME and style =
WS_POPUP | WS_BORDER | WS_SYSMENU and a window class without icon.

Do not set !Qt::WindowSystemMenuHint in QWidgetPrivate::adjustFlags()
for dialogs on Windows.

[ChangeLog][QtWidgets][QDialog][Windows] Dialogs can now be menuless.

Task-number: QTBUG-2027

Change-Id: Ieb86985e8a5291d826c103fe478ecde43971f08e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-02-28 21:27:41 +01:00
Marc Mutz db8167c224 QPen: add move constructor
After this change, the relation between copy/move constructor calls in QtGui is
something like 40/16.

A moved-from QPen can only be copied, assigned-to or else destroyed. This required
adding a nullptr check to the copy ctor and the dtor and rewriting copy assignment
(which used non-nullptr-safe qAtomicAssign) in terms of copy construction and
swapping.

Extensive tests included. They are implemented such that they work in C++98 as well
as C++11 mode, but they naturally test move semantics only in a C++11 build.

Change-Id: If68f37c10b8eeefb2478cbae386cd2e38b4f6e19
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-28 21:27:41 +01:00
Marc Mutz 98d7d4c1e5 QSharedPointer/QWeakPointer: clean up class definition
Remove superfluous class template arguments (<T>).
Qualify one member function call with this-> instead of QSharedPointer<T>::.

Change-Id: I5cbe8776fc914138b7ceb4747a08c6475227197b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-28 21:27:41 +01:00
Marc Mutz ad5f6d4326 QSharedPointer: implement move ctor
Change-Id: I46974aa1d056be797db959b547a1516157b598ca
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-28 21:27:41 +01:00
Friedemann Kleint 9788c0f47c Fix focus in Active Qt webbrowser.
Active X controls may cause WM_SETFOCUS/WM_KILLFOCUS to be sent to
native child windows. Ensure the focus widget is set correctly in
these cases.

Task-number: QTBUG-37126
Change-Id: I2a4cbb148eab48e47ca3f37b2076020c95d213a5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-02-28 21:27:41 +01:00
Simon Hausmann 846cc4c75c Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/network/access/qhttpthreaddelegate.cpp

Change-Id: Ia15372687c93cd585967b006c0baaac3a5f29e91
2014-02-28 13:14:15 +01:00
Adam Reichold 0d0fb04d50 Make QTreeView::expand/collapse check for ineffectual invocations
Added checks if item is already expanded/collapsed to
QTreeView::expand/collapse since the following computations
can be quite expensive. (This is useful when saving/restoring a
lot of item expansion state e.g. after a model reset.)

Task-number: QTBUG-35939
Change-Id: I82c4489f9fe0b8ac61994652a60312e34c46f628
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2014-02-28 07:47:16 +01:00
Allan Sandfeld Jensen 1e29bf5b07 Do not assume nice behavior in error handling
SPDY is currently assuming it will only receive RST_STREAM messages on
active steams. This is however not always a safe assumption.

Task-number: QTBUG-37100
Change-Id: Ied89a68a209891992ad72daa513066efc1d7c421
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-02-28 03:17:11 +01:00
Oswald Buddenhagen f8c5dd9857 automate handling of generated headers some more
let the syncqt + qt_module_header.prf pair handle generation of
forwarding headers.

in qtbase this is ineffective to some degree, as the need to create
QtCore's forwarding headers early for QtBootstrap requires qtbase.pro
already doing the real work, but at least we get the verification that
nothing breaks.
Other Modules (TM) will need the full functionality.

Change-Id: Ifd3dfa05c4c8a91698a365160edb6dabc84e553f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-02-28 03:17:11 +01:00
Thiago Macieira c8cde619a5 Fix ARM atomics for 8- and 16-bit types
This has apparently never worked for any negative value. That's because
the compiler sign-extends the incoming expectedValue to fill the 32-bit
register, instead of zero-extending it, and it also expects any returned
values to also be sign-extended.

Task-number: QTBUG-37031
Change-Id: I836eddba7b1acc56bb0ac1d41de7001d06255b9b
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-02-27 22:46:00 +01:00
Simon Hausmann d2cb81f8d9 Add missing notify signal for the QWindow::title property
Similary to QWidget's windowTitleChanged, QWindow should also have a
windowTitleChanges signal that's emitted when the title changed and declared
as notify signal for the title property, so that QML bindings can be written
against it.

Change-Id: I6f107c6f0b43d6a959bc2ef96492e1f3e4c28bfe
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-02-27 18:27:42 +01:00
Frederik Gladhorn 01a1f87368 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-02-27 18:27:18 +01:00
Friedemann Kleint 81698e5484 Widgets: Pass on mouse event source when translating mouse events.
Change-Id: I70dacc2f96552e08dd71d5cbd63fb4cf9916c11f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-02-27 13:28:41 +01:00
Friedemann Kleint b3aed29c43 Windows: Set source of synthesized mouse events correctly.
The source was never set for OS-synthesized events, causing duplicated
touch clicks to occur in Quick 2 applications.

Task-number: QTBUG-31386

Change-Id: Ib6d1405815dfb8e57d6446c72a7d6e2a044281ea
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-02-27 13:28:31 +01:00
Friedemann Kleint cebdd91f8b Windows: Add platform plugin parameter for tablet absolute range.
Make the range for detecting relative (mouse mode) configureable
using  -platform windows:tabletabsoluterange=50

Task-number: QTBUG-36937

Change-Id: I44f928e53cb41b246c44554ec7f71bfbdf03c147
Reviewed-by: Arthur Krebsbach <Arthur.Krebsbach@Wacom.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-02-27 13:28:23 +01:00
Friedemann Kleint 9e4a215a25 Use new QLibraryInfo::build() in testlib to log build information.
This produces:

********* Start testing of tst_QtJson *********
Config: Using QtTest library 5.3.0, Qt 5.3.0 (Feb 13 2014, GCC 4.6.3, 64 bit, debug build)
PASS : tst_QtJson::initTestCase()

<?xml version="1.0" encoding="UTF-8"?>
<TestCase name="tst_QtJson">
<Environment>
<QtVersion>5.3.0</QtVersion>
<QtBuild>Qt 5.3.0 (Feb 13 2014, GCC 4.6.3, 64 bit, debug build)</QtBuild>
<QTestVersion>5.3.0</QTestVersion>
</Environment>

<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="1" failures="1" tests="42" name="tst_QtJson">
<properties>
<property value="5.3.0" name="QTestVersion"/>
<property value="5.3.0" name="QtVersion"/>
<property value="Qt 5.3.0 (Feb 13 2014, GCC 4.6.3, 64 bit, debug build)" name="QtBuild"/>
</properties>

<Environment>
<QtVersion>5.3.0</QtVersion>
<QtBuild>Qt 5.3.0 (Feb 13 2014, GCC 4.6.3, 64 bit, debug build)</QtBuild>
<QTestVersion>5.3.0</QTestVersion>
</Environment>

[ChangeLog][QtTest] Tests now output build information.

Change-Id: I0ab473371575f2b807db725256805b8bffea3454
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-02-27 13:20:19 +01:00
Jorgen Lind bbc4cc4a47 XCB: update the platformwindows version of Qt::WindowState
when the event comes from the windowing system

Task-number: QTBUG-31117

Change-Id: Id136ad8c39c9284cbd6ad126ee71ac655f8f91ef
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-02-27 07:25:34 +01:00
Marc Mutz bcea86b7da QtNetwork: add qMove() to QSharedPointer uses where applicable
QSharedPointers here are passed by value - good, since it enabled C++11 move semantics,
transparently.

However, when passing such parameters on to assignment operators or other functions,
copies were made where moves would have been sufficient. Thus, add some qMove()s.

Change-Id: Ied1a5edf1bfbb16108dfeefbe85e58ab3d4ef92f
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-02-26 22:03:57 +01:00
Marc Mutz e3db3c4d78 xcb: replace inefficient uses of QList with QVector
xcb atoms are uint32s, so a QList of them wastes 50% memory on 64-bit
platforms. Other parts of the code already store xcb_atom_t's in QVector,
so use QVector everywhere (also leads to less code expansion).

Change-Id: Ib4afb35e499577a7509d04a18b830d9b31f6abd0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-02-26 22:03:21 +01:00
Marc Mutz 922815a2a7 xcb: replace a use of an inefficient QList with QVector
The Transaction type is larger than a void*, so better use
a vector to hold them.

Change-Id: Ie2c00d053f67addbce6fd8107f659c56ccdd37aa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-26 22:03:09 +01:00
Marc Mutz ca6b36e21f QMdiArea: don't use out parameters, return by value
Change-Id: I787b56033899d6845886c4707cf3acf7428f94a2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-26 22:02:53 +01:00
Marc Mutz 1e4d70b5b6 QMdiArea: replace dubious use of QSet<int> with QVector
The code populated two QSets with some x and y coordinates and went
on to get the values as a list. Since QSet is unordered_set, those
lists were not sorted, so the code did that manually. It then went
and created the cross product of the two lists as a list of QPoints.

Since QSet is a node-based container and not even an ordered one,
the code pays a hefty price just for ensuring uniqueness of values
prior to sorting.

The new code just cramms everything into vectors, duplicates and all,
then sorts the vectors and only then removes duplicates using
std::unique. Since the sizes of all containers involved are known
ahead of time, make liberal use of reserve() to trim the whole
container business down to three memory allocations.

Change-Id: I7004b1b90b3142acb12d7bb12bcd0014d54e6e02
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-02-26 22:02:28 +01:00
Marc Mutz 0abc35b5f7 QMdiArea: replace uses of QList<QRect> with QVector
A QList<QRect> is horribly inefficient, and this is private API, so we're free to
change it.

Change-Id: I26c2be51393f883d160b86ed1414f801f211df39
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-26 22:02:05 +01:00
Marc Mutz d432d17f83 QPainterPath: replace a use of QList<QRectF> with a QVector
QList<QRectF> is horribly inefficent, and this is just implementation,
so we're free to change it.

Change-Id: I7b28a2093efb5826b55c172f48a81cb9c2472e5a
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-02-26 22:01:54 +01:00
Allan Sandfeld Jensen 1a6a763254 Handle multiple header values in SPDY
SPDY sends multiple header values for the same header key by null-byte
separating them.

This patch maps the multiple values the same way
qnetworkreplyhttpimpl.cpp
does. With this patch applied we can now log on to GMail using SPDY.

Change-Id: I03656ad1695d13b5c3ed252794dc6c89c67c7b97
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-02-26 20:32:05 +01:00
Morten Johan Sørvig 9d2d4ad483 Cocoa: Fix popup window positioning.
Popup window positions where offset on retina MacBooks
with an connected external monitor.

Fix this by cleaning up the coordinate conversion 
functions:
    
Remove the qt_mac_flipRect overload which tries
to position the window according screen size. This
functionality does not belong inside a coordinate/
type conversion function. Also, it was using the windows's
screen instead of the main screen which is incorrect.

"Y flipping": Use the height of the first screen in
[NSScreen screens], which is documented to always
be the screen that contains the coordinate system
origin. Remove the usages of QApplication::primaryScreen()
("Don't use Qt to implement Qt").

Task-number: QTBUG-36672
Change-Id: I2354d31361f5a4c2c80035cf4c7def939218406f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-02-26 12:58:00 +01:00
Jonathan Liu 66e5f8e9dc eglfs: Improve cursors and hotspots
Improvements
 * Cursor atlas has been recreated using 32x32 cursors which avoids
   artifacts introduced from downscaling of the busy cursor
 * A white outline has been added to the cursors to improve visibility
   on black backgrounds
 * Hot spot positions have been tweaked; in particular,
   Qt::PointingHandCursor now has a correct hot spot at the tip of the
   index finger instead of the center

The assert which checks that the number of hot spots equals the number
of cursors had an off-by-one error as the first cursor is
Qt::ArrowCursor which has an enum value of 0. To determine the number
of cursors, 1 needs to be added to Qt::LastCursor.

Change-Id: I266b6d4cc47d42219854aa5b7e2d8344eb3a920a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-02-26 12:58:00 +01:00
Morten Johan Sørvig cea3f4d535 Cocoa: Set geometry for foreign views.
Make sure QPlatformWindow::setGeometry is called for
the QWindow::fromWinId() case where there is no
QNSView.

Change-Id: I72dd11a0eb0f3cfbd09b87ffeac86f2a826e0192
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-02-26 12:58:00 +01:00
Morten Johan Sørvig 98405c41c2 Cocoa: Remove tablet event warnings.
Qt warns on all touchpad evens when running in a VM.
This appears to be harmless. Remove the warning.

Also, qWarnings are ideally messages to the application
developer about incorrect use of Qt API. In this case
there is nothing the application developer can do
and a qWarning is not really appropriate.

Task-number: QTBUG-36484

Change-Id: I8a50f5a15010f1f064509b83ef4f239b008e0f2b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-02-26 12:58:00 +01:00
Morten Johan Sørvig eeb1fcd55c Cocoa: Don't crash at toolbar cleanup time.
Add missing iterator increment.

Change-Id: Id663c38859b89c29009f67205da0fdd404a455c0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-02-26 12:58:00 +01:00
Friedemann Kleint 39346df12c Use Qt's RTTI setting when building ANGLE statically.
Prevent errors when building Qt statically with RTTI enabled:

warning C4743: 'const std::ios_base::failure::`vftable'' has different size in 'qtbase\src\3rdparty\angle\src\libGLESv2\Context.cpp' and '(...)': 16 and 12 bytes

Task-number: QTBUG-36951

Change-Id: Ie0501b986be8610c8293cd5c1aa42b502d7c27a1
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-02-26 12:58:00 +01:00
Laszlo Agocs f645dad757 Use a VAO in the texture glyph cache
Task-number: QTBUG-36993
Change-Id: Icc77035b582c804ed809ea3cd99c0048b34d41d2
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-02-26 12:58:00 +01:00
Laszlo Agocs f7f70c4a7a Fix glyph texture format on core profile
Native text rendering is now functional on core profile too,
as long as the driver allows compiling GL2-style shaders.

Task-number: QTBUG-36993
Change-Id: I83f3cafae714427dda807921ee79e5a64e55cc64
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-02-26 12:58:00 +01:00
Laszlo Agocs 357363dd51 Texture glyph cache: Use a vbo
It is not going to work with core profile otherwise.

This fixes one of the several problems that make native
text rendering in Quick impossible with OpenGL core profile.

The GL2 paint engine path is not changed, that continues to use
client side pointers.

Task-number: QTBUG-36993
Change-Id: Icfbd6efc894a79a3a84568fb792c1cb6692469cb
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-02-26 12:58:00 +01:00
Eskil Abrahamsen Blomfeldt a2f79b0d0f Android: Make default permissions less confusing
Add comments to explain the magic placeholders for default
permissions and features, and move the INTERNET and
WRITE_EXTERNAL_STORAGE permissions from the manifest so that
we use the same mechanism for all default permissions.

Change-Id: Ia62dd4314c1c10eb201b5203772ffe88b1ce7a04
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-02-26 12:58:00 +01:00
Eskil Abrahamsen Blomfeldt b79e734767 Android: Support pregenerated cache in assets file engine
This provides a way for androiddeployqt to pregenerate the
entry list cache for the assets file engine, greatly improving
performance the first time a directory is read. If the file
is not present, the cache will operate as before.

Some numbers from testing on Samsung Galaxy 2, doing
QDir::entryList() on a directory inside the assets folder:

10 files
--------
Before:
     280 ms for first read,
       5 ms for subsequent reads
After:
       2 ms for reading pregenerated cache
       5 ms for first read
       5 ms for subsequent reads

2000 files
----------
Before:
    1000 ms for first read,
     150 ms for subsequent reads
After:
       5 ms for reading pregenerated cache
     150 ms for first read
     150 ms for subsequent reads

4000 files
----------
Before:
     3000 ms for first read
      300 ms for subsequent reads
After:
        8 ms for reading pregenerated cache
      300 ms for first read
      300 ms for subsequent reads

[ChangeLog][Android] Speed up first time directory listing
in assets by using pregenerated entry list.

Task-number: QTBUG-33704
Change-Id: I3973a1d823b8b38e88a2cc7843326cbe885f8bc2
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-02-26 12:58:00 +01:00
Kai Koehne f3ed93e486 Logging: Change 'rules' section name to 'Rules'
This is more consistent with e.g. qt.conf, where section names also
start with an upper case character.

Change-Id: I9ddaf72baeb9334d081807412512242d5d46cbbf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-02-26 12:58:00 +01:00
Andy Shaw 5ce87f0782 Fix compile error when enabling the QHOSTINFO_DEBUG define
Change-Id: Id82b3aad3b2951e6d0dee57ac993535930db31fc
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-02-26 12:58:00 +01:00
John Layt f05e48381b QPrintEngine - Improve devMode handling
Improve the sharing of the devMode between the QPrintEngine and the
print dialogs, in particular start to change the dialogs from directly
accessing the QPrintEngine internals.

Change-Id: Ieb4649c19b936433c85207297a0b6e59356c3880
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-02-26 12:58:00 +01:00
John Layt 5ddc5df350 QPrintEngine - Remove Windows use of port and driver
The use of the driver name and port name in the DEVNAMES structure
is no longer required within the Windows print engine and dialogs.

The CreateDC docs clearly state any driver value passed in for a
printer is ignored.  The PRINTDLGEX docs also state only the name
is actually used.  The use of the port name is not required as the
DeviceCapabilities api works fine with just the printer name and
the FILE: port can be manually handled.

Change-Id: I7765d73d4a31b1a3c5dab55ee4cfd3580bcf9ad7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-02-26 12:58:00 +01:00
Andrew Knight 7afd2ede79 WinRT: Fix backing store for latest ANGLE
Bump the ANGLE version and remove the extra info not required by
universal binaries.

Change-Id: I59983d28e1936fb42aa2def4ca785219b0c38996
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-02-26 07:56:56 +01:00
Andrew Knight efc79c6e91 ANGLE: Allow for universal program binaries
As a safety precaution, ANGLE writes the commit hash, optimization level,
and adapter ID to its binary format. However, this hurts portability
between systems by making shader pre-compilation/caching artificially
system-specific.

The shader compiler doesn't take the target adapter into account, and the
optimization level information discarded by ANGLE anyway. So, allow ANGLE
to bypass these checks on systems where precompilation is required (i.e.
WinRT). The default mechanism still applies unless
ANGLE_ENABLE_UNIVERSAL_BINARY is passed as a define.

Change-Id: Iec6d833fd7010ed163978557238f00e7ac6ae416
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-02-26 07:56:53 +01:00