Commit Graph

3977 Commits (8fa2a41bd5fb0e21c3cbda3d76eba77a922bded2)

Author SHA1 Message Date
Bradley T. Hughes 595021e0f7 Cocoa: keep a NSWindow pointer in QCocoaWindow
The NSWindow we create could either be a QNSWindow (our NSWindow
subclass) or a QNSPanel (our NSPanel subclass).

Change-Id: I6e5c18328bf0fd1786a042d1fddc5b3e8be17f89
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-26 08:19:39 +02:00
Sarah Smith a760289038 Fix qtnamespace compile break on Mac.
Appears as though the QT_NAMESPACE macros are incorrect here.

In fact in qisenum.h because the #define is no respecter of a namespace
in most of these conditional compile cases they will be ignored
effectively. The QT_HEADER also - if qtypetraits.h conditional compile
occurs then it will result in adding extern "C" { twice.  For the macros
invoking them will not cause the extern "C" { to be used anyway, so just
remove this altogether.

Task-number: QTBUG-24903
Change-Id: I710dc330f58357f395241a0cf3172e41a5864576
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
2012-03-26 05:39:37 +02:00
Thiago Macieira 38f33e035f Remove the Q_STATIC_TEMPLATE_SPECIALIZATION macro
This was necessary only for older MS Visual Studio versions, which are
no longer supported anyway.

Change-Id: I6c96fb2340296c34b480716303c93b892419229b
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-26 01:02:15 +02:00
Thiago Macieira d3951a5b0f Remove the use of a template qUnused function for ICC
ICC 12 does not seem to need this.

Change-Id: I98e9d530e767c4d24424f0c2b5d763f863e85fe4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-25 23:04:08 +02:00
João Abecasis fe778b94bd Enable endianness conversions on q(u)int8
Lack of support for these types is not a real issue as endian
conversions on byte-sized types are no-ops. Still, the conversions are
useful as they facilitate writing of generic code. They can also be used
explicitly as a way to document in code an endian-specific binary
format:

     uchar *data;
     quint8 tag = qFromLittleEndian<quint8>(data++);
     quint32 size = qFromLittleEndian<quint32>(data);

This commit also adds a test for functions documented in the QtEndian
header.

Change-Id: I2f6c876ce89d2adb8c03a1c8a25921d225bf6f92
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-25 13:12:24 +02:00
Thiago Macieira c192e64962 Use private futexes for QMutex on Linux if they're available
Futexes on Linux can be used across processes, for inter-process
synchronisation. The private flag tells the kernel that this futex is
not used with other processes, so it does not need to check for waiters
outside the current process.

This feature had been proposed in Merge Request 25, but was lost.

Change-Id: Ieafa8b8df0949bd9ae73709b3ec63f7709b0b2a6
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-03-25 06:30:16 +02:00
Samuel Rødal efa0f1f0a7 Use XCB_TIME_CURRENT_TIME instead of CurrentTime from X.h in xcb plugin.
The less X header dependencies the better, we might at some time in the
future be able to do without the XCB_USE_XLIB define as well.

Change-Id: Ib45986036febef70798851ee8455e054eafc9d22
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-24 21:07:08 +01:00
David Faure 518a4cb5ab Restore Qt4 compat in QDesktopServices::DataLocation
"/data/" was appended to the base directory.

Change-Id: I220f2ce74c36b795bc49c7c84106feb0709d1547
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-24 19:07:22 +01:00
Thiago Macieira ad81f75429 Add macros for assuming and unreachable code
Use these macros to tell the compiler about conditions that may
happen, so it will generate better code. But do not assume that they
will do anything special.

Change-Id: I89ec4f65f48a9340ccf5ffc4ae4b8c3d8897c8b1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-24 19:07:22 +01:00
Thiago Macieira 4131c323a3 Update the C++11 support macros
Move them all to a central place and document each macro, so we
don't give typo names by accident

Change-Id: Ia863ac3f7ca82e4d2f8388b3e691a12c7e482283
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-24 19:07:22 +01:00
Jędrzej Nowacki 552e162a67 Update QLocale data from CLDR v1.8.1 to CLDR v1.9.1
Change-Id: Ic84bbc82b364b92605c1bba64b6ec815bff970cb
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-24 18:32:16 +01:00
Thiago Macieira e22a6108fd Use QVector<int> instead of QList<int> for storing metatypes in QtDBus
Change I00020eed fixed a bug present in 64-bit machines because it
tried to access QList<int>'s internal array data, assuming it was a
vector of ints. That worked in 32-bit, but not 64-bit.

The fix involves a conversion between QList and QVector. Now fix it
properly by changing everything to be QVector. The benefit is that on
64-bit, they are real vectors, not the 50%-overhead pointer array that
QList is.

Change-Id: I989ad279d0d8b2c9ab262a1eed413ab2365b5461
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-24 17:07:52 +01:00
Frederik Gladhorn cea1a6bcd5 Make sure windows send accessibility activated updates.
Both QWindow and QWidgetWindow should update with the
active state signal.

Change-Id: I0219f803aa0fb109765f0faa0aedb120c2a439f0
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-24 17:07:52 +01:00
Thiago Macieira 6ab6b0fc1c Disable QUrl support in QVariant in bootstrapped mode
The only use of QUrl in qmake, moc, uic and rcc is due to QVariant's
internals, so let's disable it. This means those binaries are now
probably a lot smaller since the parsing and IDNA code don't need to
be present.

Change-Id: Ie156b0817d119b2ba5d3dcb9712a9fea2ee7d4a1
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-03-24 16:30:58 +01:00
Frederik Gladhorn f195a8e2b6 Added QAccessibleGroupBox
Added a new accessible interface for QGroupBox, as QAccessibleDisplay
is not good enough when the QGroupBox is checkable.
AccessibleFactory was modified to return a QAccessibleGroupBox when
the accessible interface of a QGroupBox is requested.

Created tst_QAccessibility::groupBoxTest

Port to Qt5 of the patch by José Millán Soto <fid@gpul.org>

Change-Id: I6c23dcf5562b3ea269b04102e78463b65827188a
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
(cherry picked from commit c03ceb203c65d9e3485fad848bfc0c4b6ee3e9aa)
2012-03-24 15:10:00 +01:00
Thiago Macieira f49f94434e Silence a warning about a change of sign.
GLuint is, like the name says, unsigned. To store -1 in it, a change
of sign happens. Silence the warning by casting the -1 to GLuint
first.

Change-Id: I165a32c486358a60f7c5fd0c439204ed2f9f7f16
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-24 15:10:00 +01:00
Thiago Macieira b8625fd70e Update the header list for the QtDBus module
qdbusintrospection_p.h was missing from the header list. And this module
has the public headers in a separate variable.

Change-Id: I9fd85a2930af71d081b7cabd04eb29d94c285382
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-24 15:10:00 +01:00
Thiago Macieira 14cae3a705 Remove support for Mac OS X compilers without the -Xarch flag
This was necessary in order to support Universal builds when this flag
wasn't present. This flag can be considered present in all builds
now. What's more, Apple doesn't support PowerPC builds anymore anyway,
so we won't either.

Change-Id: I79c45a450ddf7d58cd4b7da03d6bbf7d3feb0d9a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-24 15:10:00 +01:00
Thiago Macieira acc9716331 Add the missing 'itt eq' instructions to the ARM atomics.
This affected the 16- and 64-bit sizes only. Must have been a C&P failure.

Change-Id: If7b1e534a61d812226a6e4970909b53b0cc5a9a6
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-24 15:10:00 +01:00
Thiago Macieira 1ba5796d09 Silence warnings about GCC #pragma in ICC
Change-Id: I7659ce312f3777ae68190979681656d12306d33c
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-24 15:10:00 +01:00
Thiago Macieira ce9d760d59 Fix warnings about commas at the end of enums
It's non-standard to accept them, so remove them and silence the
warnings.

Change-Id: I51c5afe99eac408f326ab9fcf40435b60e953b54
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-24 15:10:00 +01:00
Thiago Macieira a8d4e6d04e Fix building the XCB platform plugin
The dlxxx functions are in libdl and the xcb_shm functions are in
libxcb-shm.

Change-Id: I412e1df4dc2939b7dac4f6b244c46e23c79da630
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-24 15:10:00 +01:00
Thiago Macieira 94cc945aa8 Fix deprecation warning about QPlatformWindow::visible
The proper getter name of a boolean property is prefixed with is-.

Change-Id: Id1fae9ccd11db3e92903c51012bbe75d52726a5a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-24 15:10:00 +01:00
Friedemann Kleint 7efda762da Fix loading of the ICU dynamic libraries on Windows.
- Account for differing library name on Windows.
- Improve error messages.

Acked-by: John Layt <jlayt@kde.org>

Change-Id: Ib567f8c79ab4b5655cdb2fe050f91013e9305263
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
2012-03-24 15:10:00 +01:00
Jan-Arve Saether 5e9089135b Enable IAccessible for MinGW32, keep IAccessible2 disabled for MinGW
No surprise, the files generated by midl contains code that only
the MS compiler will understand.
However, since the generated files are only needed for IA2, we
can still compile the old IAccessible/MSAA implementation for mingw
(like it was before the introduction of IA2)

I used mingw 4.6.1 to test this.

Change-Id: Iad581f2fee087bd7b796ac5a01548f2fcacbd595
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-24 13:11:09 +01:00
Jan-Arve Saether 015bc43da0 API cleanup: remove CoordinateType enum
The bridge can do the mapping to and from screen position.
This is now done in the windows bridge.

Change-Id: I5ca5df0fbeeb58202539f55a0f62717fb1685092
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-03-24 11:53:49 +01:00
Marc Mutz d86e101d1b xcb: fix (negative) coordinate handling
For some reason, XCB accepts positions as unsigned
integers, even though the X protocol explicitly
allows negative values (windows overlapping the
left/top screen border).

After discussion with Samuel and Laszlo, use a
reinterpret_cast to convert from the signed
representation to the unsigned one.

I also extended the clipping of the extents to
the position. I guess if X can't handle widths
beyond XCOORD_MAX, it won't be happy with
x-coordinates exceeding that limit, either.

Change-Id: I2fa0e61f823b6cd45dad6471eaa55f38bb3c3e52
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-03-24 09:15:00 +01:00
Friedemann Kleint 9c6c7038ac Compile fix for MinGW.
Change-Id: Id8099668dd1a4b137b6f9451be8617d07bc9d0c3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-24 08:56:35 +01:00
Friedemann Kleint b895dfd641 Fix warnings in qtbase.
Change-Id: I981e08872440e35eb9bfad32b20543cfce8439c9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-24 02:46:33 +01:00
Samuel Rødal 4a79b52bde Make QEglFSBackingStore use QtGui-only APIs.
We now have better replacements for QGLPaintDevice etc.

Change-Id: I3ac563f0ac26a563b3c788d16c77e0237d9d96d9
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-03-23 22:05:56 +01:00
Rafael Roquetto 400e59201b Initial implementation of QQnxServices
Extends platform services for QNX devices.

Change-Id: I1eb685cdb38591cd73eaaf40ffb5691db0142953
Reviewed-by: Jeff Kehres <jkehres@rim.com>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-23 21:53:53 +01:00
Jędrzej Nowacki 5e0406cbdf Get rid of compilation warning.
metaObject pointer will be used in future.

Change-Id: I1f335687ad1aa443def21efcb5d4a2eaf3583c44
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-23 19:43:00 +01:00
Thiago Macieira bd384427c4 Optimise QHostAddress a little
In QHostAddress::setAddress(SpecialAddress), avoid parsing strings.

Change-Id: Icb756b4c8b06c21dbc231f8c7f0b0dac29ed97c3
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-23 19:43:00 +01:00
Thiago Macieira a1b30b49ef Remove detection for MMX support and related technology
This also removes the check for SSE, but the check for SSE2 and
further technologies is kept. If SSE2 is present, then SSE is too. We
don't have any code that uses the original SSE instructions only.

Remove the CMOV detection, since we don't use that anywhere and we're
not likely to ever use them..

Change-Id: I3faf2c555ad1c007c52a54644138902f716c1fe1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-23 19:43:00 +01:00
João Abecasis accfdc85e5 Fallback implementation of Q_ALIGNOF
For all practical purposes, the fallback introduced here returns the
desired value. Having a fallback enables unconditional use of Q_ALIGNOF.

For compilers that provide native support for it, Q_ALIGNOF is otherwise
 #defined in qcompilerdetection.h.

Change-Id: Ie148ca8936cbbf8b80fe87771a14797c39a9d30c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-23 19:43:00 +01:00
Kent Hansen 425b38ef95 Merge "Merge master into api_changes" into refs/staging/api_changes 2012-03-23 14:31:28 +01:00
Kent Hansen 3b512ae142 Merge master into api_changes
Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
2012-03-23 14:10:58 +01:00
Debao Zhang 2f2b783214 Remove QWorkspace.
QWorkspace had been called Q3Workspace before Qt4.0 finally released.
In a sense, it is a Qt3 support Widget. And QWorkspace has been
deprecated and replaced by QMdiArea at Qt4.3.

Change-Id: Iea1bf831c9960c23c2b21d51fdc7c13b303642ea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-23 13:22:10 +01:00
Debao Zhang f31e614245 Cleanup Q3* items
Cleanup Q3* items from QtCore and QtGui modules.

Change-Id: Id214a077a50e99d820c84e96e34866492a0130d8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-23 13:21:57 +01:00
Friedemann Kleint 3b69fa6bc7 Implement QSystemTrayIcon for X11.
Reimplement using a QWidget. Use X

Change-Id: I7f8326598fb7210d59bc1d682cdada4526d5b6dd
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-23 11:45:25 +01:00
Shane Kearns 3c3ea9a869 Fix performance problem with NTLM auth in http POST
A combination of other fixes resulted in authentication credentials
with a blank username & password being incorrectly added to the
cache only for NTLM.
This caused authentication to be attempted with blank credentials
first (which would fail), before the authenticationRequired
signal was emitted.
It caused a performance issue because of the extra 2 requests to the
server (and possibly delays inserted by the server following a failed
login)

Change-Id: Ic588a20cfe7c24d5e60cd384caff0673a587e484
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-03-23 11:45:25 +01:00
Marc Mutz 9848c8b92c QDirIterator: don't inherit from QDir
Remove the inheritance hack used in
QDirIterator to gain access to QDir's
d-pointer by simply making QDirIterator
a friend of QDir.

This allows to turn QDir into a final class.

Change-Id: I97efef8714bb194d62b9fe5192ce240a90f2bf97
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-23 11:22:40 +01:00
Marc Mutz 3986b51274 QtDBus: don't inherit from QString, QVariant
QString and QVariant are about to be marked
Q_DECL_FINAL_CLASS, so change inheritance to
composition.

At least this was private inheritance...

Change-Id: I43caaa6c03041b8f0bd0f7987ddb4c6ff8309e50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-23 11:22:40 +01:00
Martin Petersson f956f9a836 QLocalSocket: remove double buffer on qlocalsocket_unix
The QLocalSocket is using a QLocalUnixSocket which is a QTcpSocket
that has buffering enabled. Because QLocalSocket is a QIODevice it
also has its own read buffer. By opening the QIODevice Unbuffered
we only use the buffer in the QLocalUnixSocket.

Change-Id: I4b9091522f73b0831b20efb4a2a00c2603fc748b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-23 09:48:04 +01:00
Tasuku Suzuki 68f44a7f98 Check if Qt::ImEnabled is true before handling im events on Mac
Key events were not sent to items on graphics view after the change
412dbdf410. This is because the change
only checks if QGuiApplication::focusObject() exists. Qt::ImEnabled
needs to be checked too.

Change-Id: I2a78af717a7a1a5d84fbc8b521253bdc25b43286
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-23 09:48:04 +01:00
Morten Johan Sorvig fd379ae7d3 Cocoa: Add window fullscreen button on OS X Lion.
Use the heuristic that windows that are not an
NSPanel and has the MaximizedButtonHint get the
fullscreen button.

Change-Id: I9a3520b7e4cd1833421d5d2f5b73da7edbfc3e74
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-23 09:48:04 +01:00
Morten Johan Sorvig 96e89ddbf9 Add QPA readme.
Change-Id: Ibc3a95f3560af909a45d147098184c2194187932
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-23 09:48:04 +01:00
Lars Knoll 5cb0368516 Rewrite QMap to use a RB tree
QMap used to use a skiplist in Qt 4.x, which has variable
sized nodes and we can thus not optimise using custom
allocators.

The rewrite now uses a red-black tree, and all allocations
and tree operations happen in the cpp file. This will allow
us to introduce custom allocation schemes in later versions
of Qt.

Added some more tests and a benchmark. Memory consumption
of the new QMap implementation is pretty much the same as before.
Performance of insertion and lookup has increased by 10-30%. iteration
is slower, but still extremely fast and should not matter compared
to the work usually done when iterating.

Change-Id: I8796c0e4b207d01111e2ead7ae55afb464dd88f5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-23 09:31:09 +01:00
Thiago Macieira 16b7ddde10 Fix udev building after commit 7a169fb52a
Change-Id: I13fcc6f58376657d54d3c0efd02f5ffba2a79cca
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-23 02:44:08 +01:00
Pekka Vuorela 76bc2663dd Deprecate QInputMethodEvent::setTentativeCommitString()
Free form tentative commit proved to require too much fiddling on
rendered text vs. logical content. Needs simpler mechanism.

Change-Id: Ia4e341abf342d25675fd1129efb11094dde410b2
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2012-03-23 02:44:08 +01:00
Thiago Macieira d13c254bef Whitespace fix for brace in qstring.cpp
Change-Id: Ia6cf0d2babd931c9ac2a441a9cfec35f2297dddb
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-23 00:44:10 +01:00
Thiago Macieira 18b26d1fbf Quick optimisations to QString: no const-ref for QLatin1XXX
Change-Id: I2c96adc6ae451f085024464791e53739b2d38bab
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-23 00:44:03 +01:00
Robin Burchell 69033cbf65 Use the same ifdef-based debugging as the other engines.
Just so I have a similar workflow all over the place.

Change-Id: I99df5042eac1b4fbf3613f339e8a4522f94ed1f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-23 00:43:46 +01:00
Pekka Vuorela 337eedb316 Fixed QLineEdit to emit selectionChanged
Was not emitted when removed by input method event.

Change-Id: Ia2c0dcb09d42826188d4612f4c1705a41874a31d
Reviewed-by: Andrew den Exter <andrew.den-exter@nokia.com>
2012-03-23 00:41:38 +01:00
Miikka Heikkinen b188221fee Fix QPrinter test in Windows
Fixed Q_WS_WIN flagging to Q_OS_WIN in QPrinter API and related
implementation to make API match the documentation and Qt 4.8.
Also Removed the unused internal HDC related functions from the API,
that were previously behind Q_WS_WIN flag.

Some of the properties tested are documented to be valid for native
print engine only in X11 environment, so skipped testing those in
non-xcb environments.

Copy collation is also apparently not supported in Windows native print
engine, though this seems to be undocumented, so skipped that only in
Windows.

At least one of the test blocks in tst_QPrinter::valuePreservation()
failed due to default printer not getting set properly, so fixed that,
too.

Task-number: QTBUG-24191
Task-number: QTBUG-22927
Change-Id: I44a5e3d647a1279fcc7f1e99de6881f9be330246
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-23 00:41:34 +01:00
Donald Carr 82c974f753 Deprecate QApplication::setGraphicsSystem
The QApplication::setGraphicsSystem() call is entirely vestigial after the
QPA rearchitecting of Qt. Deprecate it to give people a heads up that their
original intent no longer has any impact on their application.

Change-Id: I21838431db1057f7f7858b4a434ae0eebd2317de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-22 21:03:13 +01:00
Lars Knoll 5b6741c39a Make QLocalePrivate::updateSystemLocale() reset the locale data on Unix
Reread the environment, and update the locale data on request.

Also fix a small bug where the time format wasn't inherited from
the LANG environment variable if LC_TIME wasn't set.

Change-Id: I619447603ade19d5587b427491cfd9c8fe814858
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 20:59:27 +01:00
Thiago Macieira 8df589bebc Make QLocale not depend on being friends with the global static
Don't assume that the global static is a function. Instead, create a
class that is friends.

Change-Id: I992f4d819b367899b19d95b4983e6b243f0ed932
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-22 20:59:27 +01:00
Thiago Macieira 6cdbfc6f94 Remove the workaround for GCC 3.3 on IRIX
GCC 3.3 is no longer supported. IRIX is no longer supported.

Change-Id: I1656a6fdcf2b244f0f6c812e71b0e793d37fb98b
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-22 20:59:27 +01:00
Thiago Macieira 31f9df5205 Fix compilation on ARM with C++11: narrowing conversion
Cannot have double-to-float conversions inside { } in C++11.

Change-Id: I13c27307efd703420b6667d919bb42c2ee82e6cc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira 76f2aa139a Fix the build of qt-freetype with -system-zlib
The static library needs to link to zlib too, so that the plugins
using this library link to zlib.

At runtime this doesn't make a difference because -system-zlib means
QtCore is linked to zlib and the system zlib shared library was
loaded, so the symbols are resolved. However, since -Wl,-no-undefined
was added to the build, the plugin must link to zlib explicitly too.

Change-Id: I10d6df8814e823079fee76ae6a7d5b55057c9daf
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira e2a8ad145e Fix the build of -qt-freetype
The symbol must be exported from QtGui for the plugins to be able to
see it.

Also, fix the build in namespaced case: cannot use extern in
QtPlatformSupport because it's not compiled into the Qt namespace.

Change-Id: I029533f3524e3cbf6c87aed79c1f2e7b55aebb9b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira 07029c23f1 Fix compilation: std::min is in <algorithm>
Change-Id: I89227bb9fca0f081a232c2ede10c4d455edb2ee9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira 14068bcf9f Add a non-implicit virtual destructor for QDashStroker
The base class has a virtual destructor, so the destructor is already
virtual. Make it non-implicit so that the virtual table and other
virtual inline methods don't get emitted everywhere.

Change-Id: I15296c1114086ff0b1da701ccd51525bec99d76b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira 79d0cae448 Add qpair.h to the HEADERS list
Change-Id: I81d078a80b2fba201da9440e3550c2b73adaf668
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira 8466d091ae Remove the false information that IA-64 supports SSE2
This must have been a mistake. IA-64 processors used to contain an
IA-32 core, which supported SSE2. However, the IA-64 mode supported no
such thing.

Change-Id: I731c6018166af6b897cb697c68aad4ef3ae93132
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 18:59:45 +01:00
Oswald Buddenhagen 8d28fba3ed support relative Sysroot specification in qt.conf
permits relocatable qmake installations in, say, $sysroot/hosttools/.
note that it makes patently no sense to have a relative Prefix when
using a relative Sysroot.

Change-Id: I36e5149acb20a885c3cd244bc9d67aa48b01a56f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-22 18:59:45 +01:00
Oswald Buddenhagen a985fa5c51 make unspecified/empty HostPrefix fall back to Prefix
this is needed for backwards-compatibility, and generally makes sense.

Task-number: QTBUG-24839
Change-Id: I42b008a9dfb43cc2ebe49c8baa2c29f5d6a75897
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-22 18:59:45 +01:00
Samuel Rødal 63e56b90c5 Fixed QScreen::name() return value on xcb.
Previously the primary sceen number wasn't stripped before adding the
actual screen number, resulting in names such as ":0.0.0".

Change-Id: Ifbcf12dcf1c200fd6bc5e4b95a5d82483957e0d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-22 18:59:45 +01:00
David Faure ce4fb74ecd Fix assert in libdbus-1 from tst_qdbusmarshall.
Serializing an empty object path was crashing with
> arguments to dbus_message_iter_append_basic() were incorrect,
> assertion "_dbus_check_is_valid_path (*string_p)" failed in file
> dbus-message.c line 2555.
Thiago says this depends on the libdbus build settings, which is why
it didn't happen to everyone. OpenSUSE-12.1 here.

Change-Id: I657d28d5d915706a22abfd273aad88d20e2d112a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 18:59:45 +01:00
Shane Kearns cae5299f48 Allow autobound UDP sockets to send to IPv4 and IPv6
When writeDatagram is called without first binding the UDP socket,
then bind it as QHostAddress::Any.
This allows the same socket to be used to sent to both IPv4 and
IPv6 destination addresses.

Allowing the OS to autobind the socket inside sendTo() may
result in a single protocol socket.

Task-number: QTBUG-5275
Change-Id: I2b76507e8a8a38369c6eafb61ce4191d1d6cc930
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-03-22 18:59:45 +01:00
Damir Tatalovic fa8e18c386 MIPS DSP configure detection and initial blend optimizations.
Adds new MIPS configure test and -no-mips_dsp and -no-mips_dspr2
configure options.

List of optimized implementations:

- comp_func_SourceOver
- comp_func_Source
- qt_memfill32
- qt_destFetchARGB32
- qt_destStoreARGB32
- blend [RGB32][RGB32]
- blend [ARGB32_Pre][RGB32]
- blend [RGB32][ARGB32_Pre]
- blend [ARGB32_Pre][ARGB32_Pre]

Change-Id: I35411858295b7b3f4895eb56e3b93397528903cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 18:59:45 +01:00
David Faure 3b2ccf1277 QStandardPaths: implement displayName() on all platforms.
It was only implemented on Mac OSX until now (all this came from the
QDesktopServices code).

Change-Id: I7fd81d80ca77cf0ca6c213f59813a6163abe7dc5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 18:59:45 +01:00
Lars Knoll 349c0de091 Significantly speed up insertion into QJsonObject/Array
The code was only allocating memory for the next insertion
leading to a reallocation of the whole data for every
single insertion.

The code now reserves some space and uses a decent growth
strategy to avoid repeated reallocs.

Change-Id: I48b0feab71ba8ca73e7037f8460080f198b2f009
Reviewed-by: Jamey Hicks <jamey.hicks@nokia.com>
2012-03-22 18:59:45 +01:00
Donald Carr 8dd18751e1 Remove legacy font cache from 3rdparty
Change-Id: I5a02251565c0c72e8762c0b41cdf5802c7df1938
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 18:59:45 +01:00
Thiago Macieira d6d4dcaf18 Fix cross-compilation that uses fontconfig / freetype
config.tests/unix/freetype.pri has a !cross_compile flag, so we must
find freetype using the proper detection methods. The detection was
inside an X11 section of configure, so move that out.

And use the results of that detection, now that QMAKE_CFLAGS_X11 isn't
used (since we're not building X11 in QtPlatformSupport).

Change-Id: Ic8f5cfb7263849bfb12967756def2b5aaa244872
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-22 18:59:45 +01:00
Marc Mutz 3f7741fbe7 QPointer: some optimisations
Implement QPointer in terms of QPointerBase,
a non-template roughly the same as
QPointer<QObject>, to reduce the amount of
template code being generated.

Also mark QPointer as movable, fake an
isNull() for qdoc, and remove qpointer.h's
content from QT_NO_QOBJECT builds (some
indirect include hits the missing
QWeakPointer(QObject*) constructor when
bootstrapping; worked before b/c QPointer
is a template; QPointerBase isn't, though).

Change-Id: I657826601f570f954d80b84bb0334dd3a7452859
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 17:45:47 +01:00
Kevin Krammer 29518b04a6 Make QNX virtual keyboard handling main event loop driven
Refactor from polling in an endless loop running in a separate thread
to using a QSocketNotifier working on the main thread.

Similar to "de-threading" of the navigator event handling in
9dc86ac0f2

Change-Id: I994dceed07312a3846737c8bea34cffa4ab408f1
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-22 16:47:06 +01:00
Joerg Bornemann 1a414cbc26 Fix QSysInfo::WindowsVersion checking (QSysInfo::WV_NT_based is a mask)
Manual merge of the original fix 1ef309e9 in the Qt 4.8 repo.

Task-number: QTBUG-20480
Change-Id: Id08500c2dd16965af3942e65cff1f4afa24180b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-22 16:13:21 +01:00
Mark Brand 29a67e29b9 QSql*Model: add SQL syntax helper
Change-Id: Ia53e30d7a2f2bb5b4f76c32fcf0fe526d1e4ab51
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-22 16:13:21 +01:00
Mark Brand f44360923e QSqlTM/QSqlRTM: improve style and readability
General changes:
const, scope, braces, hash[] for clarity, comment wording and
spelling.

QSqlRelationalTableModel::selectStatement() readability:

Renamed private method.

QVector<Class>.value() already defaults to null object value, so there
is no point in handling this case explicitly.

Alias rec for d->rec added more noise than clarity.

Using "tables" list only adds an extra step. Simple concatenation does
the trick.

Deduplicate code for building table expression and JOIN condition.

Change-Id: Ia52afaf3c3937a26595d5ae867982664002562d8
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-22 16:13:21 +01:00
Mark Brand c7b9a60571 QSqlRTM: fix whitespace
Change-Id: I0ed9ab93657d35a0e8c74469f72c77fe1fc4c7c1
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-22 16:13:21 +01:00
Samuel Rødal 787da35eb8 Fixed QInputMethod API to use isVisible() instead of visible().
Deprecate the old API for now as not to break existing usages.

Change-Id: I7abbbbe8a34951282537a9d74cded03743f44df7
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-22 16:13:21 +01:00
Pekka Vuorela 7e90df7bf5 FocusAboutToChange event to be send before focus changes
Focus change happen as: FocusAboutToChange event -> focus change
-> FocusOut event -> FocusIn event.

Input method need to have focus when calling commit(). Notification
on focus about to be lost allows QWindow implementations to commit in
time.

Also changes QWidget documentation to match code reality.

Change-Id: I17a8a374a33dd700909f79e370b42348869261a6
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-03-22 16:13:21 +01:00
Stephen Kelly 6a54344e22 Remove obsolete methods which forward to the base class.
Change-Id: I7903d9664d52c6afeff800a95062c983a49703c6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-22 15:00:34 +01:00
Stephen Kelly d596563cae Remove non-const version of QTreeWidget method.
The const version should be enough.

Change-Id: Ia9cfa484f070e318c76f03df8d8220217a7100c2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-22 15:00:02 +01:00
Stephen Kelly 8ed2f9f189 Remove obsolete internal functions.
Change-Id: Ib0deecfe4bfc13504b98e6e1f3349f8c57b25314
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-22 14:59:12 +01:00
Donald Carr 045c79f5ed Correctly export GL graphics engine for use in plugins
EGLFS and QNX both reference this symbol, hence it needs to be exported

Change-Id: I11b2b8ad5f2b81d951173f7cd8a7fbb8be4bb89b
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-22 13:30:06 +01:00
David Faure f89bf2c153 Make comment() work in the C locale too.
The parser makes the default language en_US, and no mimetype xml says
<comment xml:lang="C">, so use the en_US string for the C locale,
rather than returning an empty string.

Change-Id: Iad7c142e8078abe357773249416e7ce9b3e29a92
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 13:29:50 +01:00
David Faure 5ec5ce3549 Return all expected paths in QStandardPaths::standardLocations
ApplicationsLocation and DataLocation were returning only the local path,
rather than system paths + local path.

Change-Id: I653d14e5bbe1e08c5fa1ecd5a6106336d1cd0369
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-22 13:29:27 +01:00
Xizhi Zhu 8445c5ede7 Don't do anything if setting the same proxy factory.
Otherwise, it crashes if you simply set the same proxy factory instance
twice.

Change-Id: I4b1f1d0eed7630c9a145c0a330c6be1b3fc381e5
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-03-22 13:28:32 +01:00
Teemu Katajisto 89b5244310 Cocoa: fix setting color with alpha channel value for color dialog
Make sure that if ShowAlphaChannel option is set then also setShowsAlpha
needs to be set for the panel before setting the current color, otherwise
alpha channel value is omitted.

Task-number: QTBUG-24320

Change-Id: Ifb3822711af8ffd0cf6cb4c8aab2b0020d296663
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-22 13:22:10 +01:00
Honglei Zhang 91c44fd31e Update QtXmlPatterns module name in documentation
According to new module name convention, QtXmlPatterns is
replaced with Qt XML Patterns in all documentation.

Task-number: QTBUG-24775

Change-Id: I9ca85728e266bd1ca9fa7a14e5e68c43c8d3e826
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-22 12:53:26 +01:00
Kevin Krammer f900da7582 Need to check new rotation against initial rotation instead of current
Only swap width/height of initial geometry if orthogonal to initial
rotation not orthogonal to current rotation

Change-Id: I825954e98dee6c0d07a284307dfb8e1f9fd538e6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
2012-03-22 12:37:25 +01:00
Jędrzej Nowacki 5ea56e93f7 Reserve more space for built-in types in id space.
We are running out of type ids for built-in types, 255 is not enough.
QMetaType already contains about ~70 types, situation is maybe not
tragic now, but there is a great chance that we will want to add more
built-in types from different modules like jsondb or declarative. Then
it might be tight, because we are not allowed to reorganize type ids
(it would be a binary incompatible change).

This change was not possible up to now. Old moc generated code assumes
that type id can be safely stored in 8 bits.

This is source compatible change.

Change-Id: Iec600adf6b6196a9f3f06ca6d865911084390cc2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-03-22 11:52:23 +01:00
Samuel Rødal 55fa3c189f Got rid of Map / Unmap events in favor of Expose event.
Since change 2e4d8f67a8 the need for Map and Unmap events has
gone away, as now the Expose event is used to notify the application
about when it can start rendering.

The Map and Unmap events weren't really used except by QWidget to set
the WA_Mapped flag, which we now set based on the expose / unexpose.

Also guarantee that a Resize event is always sent before the first
Expose, by re-introducing an asynchronous expose event handler. Since
an expose is required before rendering to a QWindow, show a warning if
QOpenGLContext::swapBuffers() or QBackingStore::flush() if called on a
window that has not received its first expose.

Change-Id: Ia6b609aa275d5b463b5011a96f2fd9bbe52e9bc4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-22 11:43:36 +01:00
Stephen Kelly 9c7cdce672 List QtPrintSupport as a dependency of QtPlatformSupport.
As it is a static library, it is also necessary to link to
QtPrintSupport when using QtPlatformSupport.

Change-Id: Id7ed458e5a7a0f6199d76b12f979faabb51d0f87
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-22 11:36:45 +01:00
Kai Koehne 3f3dd8f1d3 Show correct origin of Q_ASSERT in Windows dialog
Display the actual file and line where the Q_ASSERT statement
was triggered.

Change-Id: I54d72f4c4bd9edee744c0f6e08f31b8e3120f454
Reviewed-by: David Faure <faure@kde.org>
2012-03-22 08:51:48 +01:00
Debao Zhang 5ec17700fa Remove redundant \since 5.0
\since 5.0 has been add to the class section, so member functions and
properties donot need this any more.

see SHA: 5728c8a8e7

Change-Id: I4e67461373dda99ee1fbfdeb6477fde1dcfec116
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-22 08:51:48 +01:00
Sergio Martins 03238488eb Use delete[] instead of delete.
Change-Id: Idfa039a56ce0f7af92e91ec1657d91c79c400d6c
Reviewed-by: David Faure <faure@kde.org>
2012-03-22 06:48:42 +01:00