Commit Graph

2229 Commits (43aef6f8d2db00a57fd8e8e4be348dd50d00d399)

Author SHA1 Message Date
Jan-Arve Saether 84e66f69ae Fix casting. Casting is now done through the virtual interface_cast.
Change interface_cast to return void* to avoid using virtual
inheritance.
Get rid of the magic Q_ACCESSIBLE_OBJECT macro.

Change-Id: I94b824aef53f2ba657d39d406b387c8681d47ee4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-30 12:12:08 +01:00
Olivier Goffart 55b974faa1 Fix Qt::QueuedConnection when signal has a return value
For queued connections, the args[0] is set to null as it make no sens to
forward the return value to the signal.
So we need to check in the operator, that the pointer is not null.
(container.data is args[0])

Change-Id: I80bde66f1ec19de0f4962c80e5b2797d2819075c
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-30 01:04:12 +01:00
Jędrzej Nowacki fa7f690178 Fix a deadlock in QMetaType.
QMetaType should unlock all mutexes guarding custom types data before
calling an user code.

Task-number: QTBUG-22930
Change-Id: I501d011d6cbd467d8f22402d668e84aa848061b8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-29 23:17:13 +01:00
Friedemann Kleint 8dca04f47f QByteArray: Fix MSVC warning.
Warning C4308: negative integral constant converted
to unsigned type.

Change-Id: Ibdb14ad2ceebd56715fda861151e92f6dc10f955
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-29 20:48:19 +01:00
Frederik Gladhorn f80d71aceb Accessible debug stream: don't print details for invalid objects
Print "invalid" instead of the details.

Change-Id: I785a896b680fad9e9bb81769d9e3361542fbaafe
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-29 18:47:14 +01:00
Olivier Goffart 0dec6250f7 Support Qt::UniqueConnection in the new connection syntax
This commit also improves the related documentation a bit.

The test is copied from the test with the old syntax, but all the
connection statement are changed to use the new syntax

Change-Id: Ia5630ca4335b9f8ca6d724ae3c8750d6f0804d8e
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-29 17:11:59 +01:00
Olivier Goffart 8350d91245 Reduce code dupplication in QObject::connect
Move from each implementation of QObject::connect to
QObjectPrivate::addConnection the code that adds the
QObjectPrivate::Connection* to the sender's list.

Change-Id: I665af016d5e6673eb0e9c06965e5deed50454b28
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-29 17:09:32 +01:00
Olivier Goffart 1c5db1aff3 Initialize the return value of signals
Before, the constructor was called for complex objects, but
POD were left unitinialized. Now, they are zero-initialized.

Also add test for return values

Change-Id: Iff9bf6687589d7b7395a71fb6f650ab8aa2b6bd1
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-29 17:08:39 +01:00
Olivier Goffart ed0b262de9 QObject::disconnect with new syntax
This add an overload to disconnect which is symetrical to the new
syntax of connect.

It is possible to diconnect connection like this:

QObject::connect( sender, &Sender::valueChanged,
                  receiver, &Receiver::updateValue );
QObject::disconnect( sender, &Sender::valueChanged,
                     receiver, &Receiver::updateValue );

This overload only work with pointer to member function, and not static
functions or functors.

The test is copied from tst_QObject::disconnect(), just
changed the syntax of the connection and disconnection

Change-Id: Ia8f819100cb12098e32877522b97b732b1e676a8
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-29 17:08:39 +01:00
Stephen Kelly a482487b9f Install CMake config files from Qt.
This includes a BSD licenced file Qt5CoreMacros.cmake which is
adapted from Qt4Macros.cmake in the CMake source tree.

Change-Id: I54326b808795535490a0489659b351a8da72cdbb
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-29 17:08:39 +01:00
Samuel Rødal 3aeeb53d73 Prevented Xlib sequence errors in xcb plugin.
Prevent Xlib errors of the form
"Xlib: sequence lost (0x2716a > 0x1717c) in reply type 0x11!" from
being printed. We know the cause of these is because we're manually
calling the XESetWireToEvent handlers since those are not handled by
XCB, and this confuses Xlib since it's then seeing events with old
sequence numbers. We simply set the sequence number to the latest
sequence number and the errors go away.

Change-Id: I2a9e7a7cfd0ba8692e43ce61f796a8189305e0d3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2011-11-29 14:00:01 +01:00
Johannes Zellner 6366a3186a Remove QPlatformPrinterSupport usage
QPlatformPrinterSupport seems to not exist anymore.

Change-Id: I142ce99877620e0b678fd6693bc72257ca230e4f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-29 14:00:01 +01:00
Samuel Rødal 4db95ffd7d Added screenChanged() signal and handle screen destruction in QWindow.
It can be useful to get a signal when the QScreen changes, for example
when having bindings to QScreen properties in QML.

Change-Id: I919dd12c656485b28b393aec5eedac4c01593afc
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-11-29 14:00:01 +01:00
Richard Moore 3d3fdcd3a5 Make the default ssloptions testable.
Centralise the specification of the default ssloptions to make the code
clearer and more testable.

Change-Id: I4f4bae72736dd063ee4cd64c6375e82d0600a105
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2011-11-29 14:00:01 +01:00
Jędrzej Nowacki 79923f5b32 Redefinition of QVariant::Type.
QVariant::Type is redundant, it copies QMetaType::Type enum. In long
term it might be removed completely, but it wouldn't be a source
compatible change.

Change-Id: Ibe79ca0ab43918b4cf767cd7a5040f865abbf03f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-29 14:00:01 +01:00
Friedemann Kleint 602cab9bb2 QtGui: Fix a crash in OpenGL on Windows.
Add missing WINAPI calling convention for QOpenGLFunctions.

Change-Id: I43827d801c5ecc3859d8d4ba0bb9bccc108880e7
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-29 12:27:38 +01:00
Friedemann Kleint 3ec60ca51b QtCore/IO: Fix some warnings on Windows (64bit).
- Warnings about conversion from size_t to int
- Unused variable.

Change-Id: I4a79fa6dc4b95551a64d282ae4307b0edff41201
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-29 08:52:59 +01:00
Kent Hansen 0f1d936998 V8/arm: Add relevant float defines
CAN_USE_VFP_INSTRUCTIONS implies arm7.
This is the only arm configuration we currently support.
These defines also ensure that a suitable snapshot is generated
when cross-compiling (i.e., when using the arm simulator).

Change-Id: I3a8a4224b9127a549b3987bcf5651ed1ffb8079a
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-29 08:52:59 +01:00
Bradley T. Hughes 82ffc353db Remove obsolete QMetaObject::activate() overloads.
The overloads taking a range were previously used for cloned signals
(ones that had default arguments). Commit
919b723088b8617b202b92d80b8d0983e4fd9500 changed how cloned signals are
handled, making the from,to overloads obsolete.

The 3 argument activate() overload that does not take a QMetaObject
argument was marked obsolete by the same commit, but considering that it
is used by our autotests, I've decided to keep it and not mark it as
obsolete anymore.

Change-Id: I631ce84dce156dec68cf26e10787cb35e3f50e18
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-29 07:22:59 +01:00
Toby Tomkins e881f4f5fd Fixed Qtbase OSX specific namespace compilation.
Change-Id: Idacfa679df7aa6417f8017f80928907830d15df2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-29 03:44:58 +01:00
Jędrzej Nowacki a291519e3e Fix a small memory leak in QXcbIntegration.
Prefer to use a smart pointer over a raw pointer.

Change-Id: If8b5cbef8767433eab2f82c14abaa9608b8e61d0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-29 01:53:38 +01:00
Jędrzej Nowacki b36a40ac0d Fix documentation for QVariant::Type enum.
QPolygonF was missing. QPointArray doesn't exist anymore.

Change-Id: I764508f67d859c8519b44a6a1ee19d1f96ebe1cf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-28 18:47:32 +01:00
Jędrzej Nowacki 50995e6936 Fix clang warning about bool to pointer conversion.
The operation is legal from C++ perspective but only for "false" as it
is guaranteed to be 0. Anyway returning 0 instead of "false" is
logical and it follows coding style used in the modified functions.

Change-Id: Ia09758e8d28599097f5c40eb24722890508afdbc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-28 18:47:32 +01:00
Friedemann Kleint 8b12b566db Fix linking of the QObject test under Windows.
Change-Id: Iced5a37893969f555f39d3f4683b32ca2a399365
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-28 16:59:09 +01:00
Friedemann Kleint b8d330904b QtGui: Bring back HBITMAP/HICON conversion functions.
- Move the conversion functions from the Lighthouse plugin
  to QtGui as qt_pixmap/From/To/HBITMAP/HICON().
- Re-enable them in Widgets (QFileIconProvider, QWindowsStyle).
- Use them in QtPrintSupport.

Change-Id: I1436bc604160d94c78ef270ad2b31bf3b20b5c90
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-28 16:57:58 +01:00
Jørgen Lind f6c107d799 Make input events work for widgets on wayland
Wayland windows does not know about their position

Change-Id: Ia37dd0fe6e33073eeeba22c88da9bd4bcad5421f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-28 16:57:58 +01:00
Friedemann Kleint 45aa0a219a Add comment to the obscure initialization of QOpenGLFunctions.
Change-Id: I9386c0e3b158a675e2dcbce34eecb57edf0ac27b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-28 15:08:01 +01:00
Stephen Kelly abbd35f9b9 Remove network module from widgets dependencies.
QtWidgets does not depend on QtNetwork.

Change-Id: I50958033fd93a44be24c78fb5a20d7006b262b82
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-11-28 15:08:01 +01:00
Kim Motoyoshi Kalland f6de476552 Fixed QUnifiedTimer cleanup.
When destroying QUnifiedTimer's instance, its default animation
driver is destroyed as well. This patch avoids creating another
QUnifiedTimer instance when the animation driver's destructor
calls QUnifiedTimer::instance().

Change-Id: I9cf254a9d04d79447baa8f27625c3890c3645f08
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-11-28 06:46:32 +01:00
Stephen Kelly 27e4e91808 Fix style. 4 spaces not 2.
Change-Id: I0a595557ad0cdff6fbb43b6812c57525dbd29526
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-28 01:53:42 +01:00
Glenn Watson de9d845441 Add support to moc for registering non-local enums via Q_ENUMS.
When using the Q_ENUMS macro to register an enumeration in a class
with moc, it's now possible to provide a scoped enumeration that
exists in another class. This adds the enum class scope to
a metaobject's list of related classes stored in the extradata
field.

This allows the declarative code to handle non-local enums in
signal and slot functions that are exposed to QML.

Task-number: QTBUG-20639
Change-Id: I94f5292818095fda75762bd1508ba5c69de19503
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-27 22:51:39 +01:00
Stephen Kelly ff049be072 Use Q_FOREACH in headers.
Downstreams must be able to use QT_NO_KEYWORDS.

Change-Id: Ica75b348c1c9461750b5ae2426557ed8b9e2a8a1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-27 19:16:53 +01:00
Peter Hartmann 57c31045df SSL certificate blacklist: reformat serial numbers to hexadecimal
Since recently QSslCertificate::serialNumber() always returns the
hexadecimal format, so we need to adapt to that when checking the
serial numbers for the blacklisted certificates.

Change-Id: I43bdb1be77faad7ad79a835c896fc39477452e75
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2011-11-25 17:00:56 +01:00
Gunnar Sletta ac188d9582 Introduce QWindowSystemInterface::handleSynchronousCloseEvent
And use it from the Cocoa backend.

In general, for threaded GL rendering to work, any function that
affect the surface must be synchronous, so the implementor (such as
QQuickCanvas) can pick it up and block until the GL context has
released the surface. Otherwise, we will crash.

Change-Id: Id8484dac7452fe96fa80ade4ea321145f32124b4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-25 14:44:39 +01:00
Gunnar Sletta 32ce1172ba Fixed memory leak in windowing system event handling
processWindowSystemEvent does not delete the event, so
allocate it on the stack instead.

Change-Id: Iffda940ffc86ef1fabfbf101e08956fa07c49689
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-25 14:41:26 +01:00
Peter Hartmann 09404c072f SSL: fix build when compiled with -openssl-linked
... and only resolve the functions when the methods are available.
SSL 2 functionality is not always available in OpenSSL anymore.

Change-Id: Ia3178685b26c67ac55447476789e06710b596181
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2011-11-25 14:37:02 +01:00
Jan-Arve Saether f4b6628083 Make QBasicAtomicPointer work with T=const (int|any type) on Windows
Change-Id: I2301ea3fa399bcc5d6d8c6b487a3fb78db19c67a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-25 14:37:02 +01:00
Stephen Kelly c1007112c8 Be specific about what part of the model is being re-layouted.
Change-Id: I6b6fe98929543447f945a335c33960823c0d1a4a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-25 14:37:02 +01:00
Bradley T. Hughes f9e17f2a32 Remove the QApplicationBase define
Use QGuiApplication instead, since QApplicationBase was unconditionally
defined to QGuiApplication anyway.

Change-Id: I9d0c96835693e5ca6218c330b2d243579a5b0b38
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2011-11-25 13:04:42 +01:00
Jan-Arve Saether 53e4dfec7b Change default implementation of window() to just return 0
Instead move the traversal up to the ancestors to the bridge.
This simplifies the default implementation to just return 0

Change-Id: Ic3ec60851f378587f4a23363aec2039d0e8a08a1
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-25 11:29:11 +01:00
Friedemann Kleint 84a9b009e7 QMetaTypeInterface: Fix warning about multiple default Constructors
Change-Id: Ifc806d63a743c68ce830f44f14dd1434bbdbc40e
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2011-11-25 11:29:11 +01:00
Gunnar Sletta 7dabd65ff6 Make cocoa opengl backend threadsafe.
The current implementation on Mac OS X called update() inside
the cocoa plugin from the GUI thread, which breaks when trying
to use the GL context from another thread and the window gets
resized. We now only call it from makeCurrent()

Change-Id: I025aad3a3b140e85e729816bf3b68827337cc80d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-25 09:54:38 +01:00
Olivier Goffart 66b659c8a4 Add support for QueuedConnection when connecting using the new syntax
QMetaCallEvent now can handle a pointer to QSlotObjectBase

Change-Id: I94da1e68ce9bb1fd96a9ae013a389552eb625faa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-25 01:12:14 +01:00
Olivier Goffart 583c55b243 New QObject connection syntax
In addition to the old connection syntax, you can now connect using function pointers.

    connect(sender, &Sender::valueChanged,
            receiver, &Receiver::updateValue );

You can connect also to functor or C++11 lambdas

The connections are now type safe (no more problems with namespaces
or typedefs).  Implicit type conversion is also supported.

The new syntax forces us to change the meaning of signal form
protected to public, in order to be able to access the signal's
address everywhere

The way it works is by introducing new overload of QObject::connect
that take function pointer as parametter. Those new overload are template
function, that are implemented inline. The actual implementation is
in QObject::connectImpl which take a QObject::QSlotObject* as parametter
for the slot.  That slot object contains a virtual function which call
the slot which has to be implemented in the header as it depends on the
template parametter.  So the internals of QObjectPrivate::Connection
will store this QObjectSlot* in order to be able to make the call.

You can read a full description here:
http://developer.qt.nokia.com/wiki/New_Signal_Slot_Syntax

History of commits before it was imported on gerrit:
https://qt.gitorious.org/~ogoffart/qt/ogoffarts-qtbase/commits/qobject_connect_ptr

Thread on the mailing list:
http://lists.qt.nokia.com/pipermail/qt5-feedback/2011-August/000796.html
http://lists.qt.nokia.com/pipermail/qt5-feedback/2011-September/001248.html
(The discussions on the mailing list were about trying to find a
solution that do not need making signals public, but no user friendly
solution was found)

Note: support for QueuedConnection, and the symetric QObject::disconnect is
added in another commit.
Qt::UniqueConnection is not supported yet in the new overload.

Change-Id: I67d08436b0720e7f2992be9f7e34770960fa58fa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-25 01:12:14 +01:00
Olivier Goffart 79f675a1e0 Change the return value of QObject::connect
From a bool to a handle to to connection.

Also added a new overload of disconnect that disconnect a handle

This is required because with the new syntax taking lambda or functors,
it is the only way to disconnect a connection (as it is impossible to
compare functors)

The new return value is QMetaObject::Connection, it is a wrapper around
the internal QObjectPrivate::Connection.
QObjectPrivate::Connection is now reference counted.

tst_qglobal.cpp:
   This test set up an internal callback, and the callback do not set any
   proper connection handle (and tbh,  it would be hard for it to do so).
   So the returned QMetaObject::Connection is invalid, and ok is false
   (Internal callbacks are only used for jambi and should probably be removed)

Change-Id: I111626fb4f47efc4db5e2ea5bff9da15f08fea7b
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-25 01:12:14 +01:00
Frederik Gladhorn cc37a8cf41 Fix navigate returning invalid pointer.
Navigate would return a random pointer here when asked for example for
not handled relations (label etc).

Change-Id: Iec4de94e6f76f14e89b43fe7327d98878aad58ee
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-24 20:26:52 +01:00
Jonas M. Gastal c990f38a5d Removing unnecessary hidden property "_q_user-agent".
This property is no longer necessary because we can now set the user
agent directly on the proxy.

Task-number: QTBUG-17223
Change-Id: I27cb126dd401f02525290d2317650f55cae9f4ef
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2011-11-24 18:16:33 +01:00
Jonas M. Gastal 4cffc72023 Adds support for headers in QNetworkProxy.
The API is the same that is present on QNetworkRequest class. Since
these are HTTP headers, this only affects proxies of type HttpProxy and
HttpCachingProxy.

This was created as a general solution to the problem pointed out in
QTBUG-19569(some proxies only accept request with specific User Agents).
In the same way that there are cases where setting the User Agent is
desired there might be reasons to set other headers, hence the support
for any header.

Change-Id: Ifd04f34d29eedb6c2a3f0b50708244996b12a123
Task: QTBUG-19569
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2011-11-24 18:16:33 +01:00
Stephen Kelly 8f1868e7c3 Add a parents parameter to layoutChange signals.
This allows for more focussed notification of what part of the
model has changed layout.

The slots in the proxy models can be more optimized later.

Change-Id: I1bd17465b4be6f8efdc107036db897c557fcb519
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-24 16:46:15 +01:00
Samuel Rødal 11bf824c03 Add a note in the QScreen documentation about logical vs physical DPI.
Change-Id: I1d536711cbbc0ea8a21c6917e5e0066c1ad4ccae
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
2011-11-24 16:46:15 +01:00
Kent Hansen 502b5b8178 Make v8 snapshots work in debug-and-release mode
Debug snapshots and release snapshots aren't compatible. Both a
debug version and release version of the mkv8snapshot tool must be
built, and the corresponding executable selected when building v8.

Adopt the library naming convention for naming the mkv8snapshot
executable ("mkv8snapshot" in release, "mkv8snapshot_debug" in debug
on Mac, "mkv8snapshotd" in debug on Windows).

Change-Id: I7a94b09e7db7ed8bbaa293637c092a1d1d1dbaba
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-24 16:46:15 +01:00
Bradley T. Hughes 722cbfe738 Move QScopedLoopLevelCounter to qthread_p.h
... and use it in QCoreApplication::notifyInterna() instead of
"reinventing" the wheel there. The constructor and destructor for
QScopedLoopLevelCounter are inline, so the class does not need to be
exported.

Change-Id: I7af5a4ef0987f277bcc50c1057f3c74152f3d79d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-24 15:06:31 +01:00
Gunnar Sletta 90b67743d1 emit width/height changes for the new rect
Change-Id: I789a45bc60aaa949d18e9fb72a186a259548ec1d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-24 13:37:32 +01:00
Lars Knoll 290c4f8988 Don't forward declare types form openssl in public headers
There's no real reason for the typedef here, QtNetwork
will compile without it and it might conflict with
openssl.

Change-Id: Id352ccc98d84ca9ee9ea3c7b4a942382882173f1
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2011-11-24 13:37:32 +01:00
Holger Hans Peter Freyther c420e1f101 directfb: Use the QPlatformWindow in the DirectFB Backingstore
Remove usage of QDirectFbConvenience::dfbDisplayLayer in the
QDirectFbBackingStore code and resolve the IDirectFBWindow through
the QPlatformWindow.

Change-Id: Ia7db8dedc91096648bc9de029d034002ba0d6a03
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 426cda9089 directfb: Get the IDirectFBDisplayLayer through the QPlatformScreen
Change-Id: I1e8bacc2a5c39065f1c0667cda900730c5670066
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 13505b53b6 directfb: Fix the typo in the parameter
Change-Id: I3d373872c533bc4b6f4f010f5cce4dbb41dbb561
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther ab0e62205f directfb: Remove dfbDisplayLayer from QDirectFbInput
Change-Id: I2ae61c40c28b337448077cff5643a007b54a3d71
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther a0e0359567 directfb: Pass the IDirectFBWindow to the QDirectFbInput methods
No need to go from IDirectFBWindow -> WindowID -> IDirectFBWindow
to attach the event buffer for the event system.

Change-Id: Ia5f7c20d06e8e1da5142f1bd99ca69906107adba
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 7da24c14fd directfb: Use DirectFBErrorFatal for errors we don't handle well
In case we fail to initialize DirectFB, use the DirectFBErrorFatal
to quit as there is no way we can recover from this error and the
QPA backend has already been selected.

Change-Id: I8001bf32d0a14ba21c2ec13121748a6384b87c2b
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 12:11:04 +01:00
Jiang Jiang 6ef939455f Fix HarfBuzz Thai character SARA AM handling
This patch is contributed by Thanomsub Noppaburana from libthai. It
added a special thai shaping function to handle SARA AM character
for fonts without OpenType rules to support it, like Nokia Pure Text
AS.

With modification to logClusters assignment to make sure that
QTextLine::glyphRuns(int from, int length) returns correct glyphs.

Task-number: QTBUG-21206
Change-Id: I5a78ee1ab2b4c874c7d0df17d4ee6d264ed5a790
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-24 12:11:04 +01:00
Holger Hans Peter Freyther 6b22448fa3 directfb: Access the screen layer through QWindow::screen()
Instead of assuming which layer was assigned to Qt, resolve the to
be used layer via QWindow::screen()->handle(). Add a method to the
DirectFB QPlatformScreen to provide a pointer to the IDirectFBDisplayLayer

Change-Id: Iaea9466ca84daff752a4932deafbe38f48123715
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 08:31:02 +01:00
Holger Hans Peter Freyther 0948237d7f directfb: Move QDirectFbScreen into a separate file
The screen handling will get a bit more complex due the integration
of different ways to do OpenGL. Move to a new file.

Change-Id: Ibe3e397d13da1b270ec4afaf046d28be50e976f9
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2011-11-24 08:29:09 +01:00
Samuel Rødal 5116a25a55 Fixed regression in tst_qscreen.
The ScreenOrientation enum was changed so that the values are power of
twos, angleBetween() needed to be fixed in order to reflect this.

Task-number: QTBUG-22554
Change-Id: Ia45dd6643b40b14204abf967b00c0d04834736a3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-23 22:23:55 +01:00
Sami Rosendahl b851c764a6 Fix stack overwrite in QDBusDemarshaller
QDBusArgument extraction operators and QDBusDemarshaller that implements
the extraction do not check the type of the extracted value.
Helper function template qIterGet in qdbusdemarshaller.cpp that is used
for extracting basic data types only reserves space from the stack for
the expected type as specified by client.
If the actual type in the DBus parameter is larger stack will be
overwritten in the helper function by at most 7 bytes (expected one byte,
received dbus_uint_64_t of size 8 bytes).

The fix always reserves space for the largest basic type dbus_uint64_t
readable by dbus_message_iter_get_basic API.

See also http://dbus.freedesktop.org/doc/api/html/group__DBusMessage.html#ga41c23a05e552d0574d04

Task-number: QTBUG-22735
Change-Id: I9aa25b279852ac8acc40199a39910ea4002042d7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-23 19:14:12 +01:00
Olivier Goffart c3160c84af Fix QT_DEPRECATED_SINCE on windows.
Apparently, MSVC preprocessor do not understand correctly the defined()
in that macro (used in another #if)

Change-Id: I9bd102eb4e0cbaa65bea48db786a45d861491ad7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-23 16:33:33 +01:00
Frederik Gladhorn 013a3ee5dc Improve docs for Accessibility.
While still lacking, at least try to reflect reality a bit.

Change-Id: I8fcd0bd540806f3d1e314c60d854d2a90f66c14e
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2011-11-23 16:30:26 +01:00
Frederik Gladhorn beb72b2fbf Remove virtual child integers.
This makes the accessibility apis much
simpler and less error prone.

Disable the itemviews implementation that is in complex widgets.
The itemviews will use the new code from itemviews.h/cpp everywhere now.

QToolBox was broken before, now at least it simply exposes all its children.
The children are the buttons (tabs of the toolbox) and their contents.

Change-Id: I45e218f49f02aebbd678ddfe29f94c2a112a2125
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-23 14:54:01 +01:00
Friedemann Kleint e739ca0071 Accessible widgets: Fix warning.
Change-Id: Iaf9b112db86a4238ef24f3c6341c83ab0f9ba217
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-23 11:08:51 +01:00
Honglei Zhang 1d3cfdbfa1 SQLite support only one statement at a time
SQLite driver support only one statement at a time. This fix makes the
exec and prepare call failed if more than one statements are given.
This is bug fix for QTBUG-21884. Also the behaviour is documented in
the API specification.

Task-number: QTBUG-21884
Change-Id: If1e25a0dd9f9ee38961ef478fc7909f6b05e360a
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2011-11-23 08:36:14 +01:00
Rohan McGovern 9ffd7a339f Added build system support for installing tests.
Tests will install under $$[QT_INSTALL_TESTS].

TESTDATA may be used to install additional testdata required by the
test.

The default install rule may be disabled by
CONFIG+=no_testcase_installs.

Change-Id: I204de60c8e844775906ffd016ca50bffbb414142
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-23 00:13:46 +01:00
Jędrzej Nowacki ce4343a52f Code cleanup in QVariant and QMetaType.
QMetaTypeGuiHelper was generalized and renamed to QMetaTypeInterface.
From now all types will have common interface which can be used for
basic operations.

Change-Id: I50d67f4a8081fa0f75c9d530a8211593ec37bc55
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-22 19:05:18 +01:00
Jiang Jiang dae1df576f Remove explict debug message
Change-Id: I8159651d4894bb828416cddb402c946bbd1a535e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-22 15:17:15 +01:00
Kent Hansen 52ef2ee57f Add V8 snapshot support
A V8 snapshot is a serialized representation of the JavaScript heap.
Using a snapshot can vastly speed up V8 initialization.

This commit introduces a new tool, mkv8snapshot. mkv8snapshot is
automatically invoked as part of building QtV8, and generates a .cpp
file which is compiled into the QtV8 library.

Because mkv8snapshot itself needs to initialize the V8 environment
the non-snapshot way (i.e., by evaluating thousands of lines of
JavaScript), it needs to build all of V8. This means that V8 is
effectively built twice when snapshots are enabled.

When cross-compiling, only host=i386 and target=arm is supported,
since that's the only relevant case for which V8 currently
supports a simulator. mkv8snapshot is built and run as a host tool
(using the simulator), and generates a snapshot that will be used
on the target.

Task-number: QTBUG-21152
Change-Id: I9270652f129505508f78db8b0a39fbf57dc8b86d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-22 13:10:56 +01:00
Alan Alpert ce829cbb85 Add some properties to QWindow
x,y,width,height,visible and orientation
Includes slot setters and notify signals for maximal QML compatibility.

Change-Id: I124399093c00f8ad1485d4fbae816dfbe3027eff
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-22 10:54:57 +01:00
Joona Petrell 0c8f471c96 Remove handlesInputPanelVisibility() deprecation mechanism
Task-number: QTBUG-21964
Change-Id: I508ba690c90369d31ca33390d3001064857fb62e
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-21 22:46:11 +01:00
Pekka Vuorela bd8188ebd4 Support better committing preedit in QLineController
Similar as 7851568c65 for
QWidgetLineController

Change-Id: I7c1a1dc22e9b73515a5a72093866ac747a80896f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-21 22:45:41 +01:00
Pekka Vuorela 7a0c060268 Support input method tentative commit string in QLineControl
Implements similar behavior as 8bd40fef07
did for QLineEdit.

Change-Id: I55de1f9a6703aca629f2e84398e481636c96eeca
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-21 22:45:36 +01:00
Pekka Vuorela 9eba201a48 Fix QLineControl work properly with input method selection event
Same as what 1189ebff32 did for
QWidgetLineControl.

Change-Id: I0991c2a2af126cfd7203829adc33bb4e6d45a7f2
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-21 22:45:25 +01:00
hjk 47304c2c04 Add spaces for string concatenation to work around C++11 source incompatibility.
Change-Id: I6acb7dca20d3bfcb24ea798c7ecd1a12464af5a6
Reviewed-by: QTBUG-22847
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-21 20:14:31 +01:00
Peter Hartmann ac22fa8a33 QNetworkProxy documentation: mention usage of "http_proxy" variable
This is done on systems other than Windows or Mac.

Change-Id: I631ea350cb9bc123edc6df33b6f661afa8f0778b
Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
2011-11-21 17:23:42 +01:00
Lars Knoll 479f3c6b11 Pass all key events through the shortcutmap
This has to happen in QGuiApp, not QApp.

Change-Id: If8a6e81df3ae9b601733d077cce57d2d21572f74
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-21 15:53:16 +01:00
Frederik Gladhorn 6e7f08182e Accessibility: Clean up usage of navigate.
Prefer to use parent/child functions instead.

Change-Id: Ic92165b9439eb750c9d762ddf5dcd2a5ccf0277d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-21 15:53:16 +01:00
Frederik Gladhorn 6f9fb98886 Add debug stream for QAccessibleInterface.
Change-Id: I68fddac5a09bbf092c1e38c411d49dfbf640f27d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-21 15:53:16 +01:00
Simon Hausmann 24cfb9d748 Fix debug output in meego platform input context
Don't show debug output by default :)

Change-Id: I7df9264b3e0211e459cecb2cd9f389e017e9bca4
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2011-11-21 14:25:09 +01:00
Joona Petrell dc0b588162 Get rid of unused inputMethodEvent function
In Qt5 input method events are meant to be sent directly to
QInputPanel::inputItem() instead of the focused QWindow.

Change-Id: Idc8fe458973f066b578f6374ca33ce6f950bf9cf
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-21 14:24:36 +01:00
Stephen Kelly 100908e400 Add a roles argument to the dataChanged signal.
This allows more granular reporting of what has changed.

This change is binary incompatible and source compatible.

Change-Id: I7c5beaee651a24780cc94e41383f7a80210bc603
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-21 14:24:36 +01:00
Friedemann Kleint 99b6ebeb59 V8: Fix linking with MinGW.
Change linker flags to work with MSVC (stub.lib) and MinGW
(stub.a).

Change-Id: I9319972a133e2d3abfe046e87e2b76590608044b
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2011-11-21 14:24:36 +01:00
Joona Petrell 249c4fc8e9 Add Q_ENUMS and Q_FLAGS to enumeration InputMethodQuery and flag InputMethodQueries
Change-Id: If6f535a28af06e7e1790d8876f99dcb9ab8a3b41
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-21 09:58:23 +01:00
Robert Knight 67106b169c Fix sporadic hang in QLocalServer::close() in OS X 10.7
There is a bug in CFSocket/CFRunLoopSource in OS X 10.7 which can lead to a deadlock
in CFRunLoopRemoveSource or CFRunLoopSourceInvalidate if the CFSocket manager thread
is concurrently calling CFSocketInvalidate as a result of the socket's file descriptor
having been closed.

QLocalServer::close() triggers this race by closing the socket fd before unregistering
the QSocketNotifier, which internally uses CFSocket.

This commit fixes the problem by changing the ordering in close() so that the socket notifier
is disabled before closing the file descriptor.  This change also makes QLocalServer::close()
perform operations in reverse order to QLocalServer::listen(), as would be expected.

Task-number: QTBUG-22789
Merge-request: 1470
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit a9c3f7169faf4621d39714f753d6e8b376c5d6e5)
Change-Id: Ia9c3f7169faf4621d39714f753d6e8b376c5d6e5
2011-11-18 20:25:53 +01:00
Kjell Rune Skaaraas 5ec3ddc0ec Give better error message when using unsupported lookbehinds in QRegExp
Merge-request: 1456
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit e0383c9b8bd6f4e3d445d69690f84209cad42bb5)
Change-Id: Ie0383c9b8bd6f4e3d445d69690f84209cad42bb5
2011-11-18 20:25:53 +01:00
xiechyong 6329cb8856 Fix QFile::copy() returning false but error() being NoError
Calling close() after setError() will unset the error.

Task-number: QTBUG-11982
Merge-request: 2712
Reviewed-by: ossi
(cherry picked from commit 16f67b49ae5232d4d0fb19e0333f5e2ef2a65449)
Change-Id: I16f67b49ae5232d4d0fb19e0333f5e2ef2a65449
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 20:25:53 +01:00
John Tapsell d2cdfc950e Harfbuzz shaper: kerning adjustment does not need to be modified by RTL
Merge-request: 1435
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit 1b928f5e41888150c4d85ff4df8a9fcab9b06d90)
Change-Id: I1b928f5e41888150c4d85ff4df8a9fcab9b06d90
2011-11-18 20:25:53 +01:00
jaanttil 096f93341a Build fix for WINCE to qfilesystemengine_win.cpp
Merge-request: 2662
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit f4f1b712e1389987e045bb8f6ba654ea9e11d24e)
Change-Id: If4f1b712e1389987e045bb8f6ba654ea9e11d24e
2011-11-18 20:25:53 +01:00
shkim 58075cd96b QNetworkAccessBackend::start() is used although QT_NO_BEARERMANAGEMENT is defined.
Merge-request: 2690
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit 4245a82a3eed3ec21b6affc5836af5b2ad2d42e4)
Change-Id: I4245a82a3eed3ec21b6affc5836af5b2ad2d42e4
2011-11-18 20:25:53 +01:00
Iikka Eklund ebf5f42edb Fix broken Solaris build (getpwnam_r usage)
Added ifdef inside qt_tildeExpansion function to use correct
version of getpwnam_r depending on _C_POSIX_SOURCE version
on Solaris platform.

Task-number: QTBUG-21451
Merge-request: 1380
Reviewed-by: ossi
(cherry picked from commit 48f64fc7ae9f0e9e8ab07ab60ccd55d3b053dfab)
Change-Id: I48f64fc7ae9f0e9e8ab07ab60ccd55d3b053dfab
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 20:25:53 +01:00
Thomas Hartmann b2aac995b9 adding a getter cubicBezierSpline() to QEasingCurve
Change-Id: Ida722f013613d8633867a902660da30d28aeb918
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
2011-11-18 18:47:19 +01:00
Friedemann Kleint f6c61d13a3 Windows: Adapt mkspec for MinGW / gcc 4.6.
gcc 4.6 becomes the minimum required version in Qt 5.

See also d4150975af620e2889cc58bd476bac6b4d101db3
in Qt 4.8.

Change-Id: If66ce0be755263c20b0a4371523c6590592d962d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2011-11-18 14:53:08 +01:00
Joona Petrell 9cfd34c8d9 Document new input method hints introduced in Qt 5
Change-Id: Ic6aa77b410ed8189c2b100ca527a7019cdaf3b8b
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-18 12:11:44 +01:00
Rolland Dudemaine 8fd2801a1f Resolve a number of compilation issues with INTEGRITY
First, #ifdef'ed out getpwuid_r() and getpwgid_r() usage since users/groups support is not in in single-process Posix mode.
Also, correct a typo and add missing files to io.pri.
Update documentation to disable libtiff which won't compile until ibtiff itself is updated, and add back -no-exceptions in the sample command line. And add a line to compile host tools.
Add a dummy QT_OPEN_LARGEFILE definition in qplatformdefs.h since there is code that requires it.
Move definition of getGlyph() after the definition of qHash(GlyphAndSubPixelPosition).

Merge-request: 2686
Reviewed-by: ossi
(cherry picked from commit 8fe04a14b1f3688c9ce0933ebec0c28616595d93)
Change-Id: I8fe04a14b1f3688c9ce0933ebec0c28616595d93
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 12:11:44 +01:00
Oswald Buddenhagen d645ff182b fix doc typo
(cherry picked from commit 9c86b3b0028d79cbca129afafa33d72d624d65c3)
Change-Id: I9c86b3b0028d79cbca129afafa33d72d624d65c3
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 12:11:44 +01:00
Oswald Buddenhagen a5d2c48e6b Ensure that the corewlan plugin can be built with the Mac OS X 10.7 sdk
When the 10.7 SDK was specified explicitly then it would fail the check
inside the pro file.  So this ensures that this is accounted for.

Task-number: QTBUG-20516

Merge-request: 2657
Reviewed-by: ossi
(cherry picked from commit ce1a25fc692abcaa1c825f465d6a158efa953b06)
Change-Id: Ice1a25fc692abcaa1c825f465d6a158efa953b06
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 12:11:44 +01:00
Oswald Buddenhagen 54e8d660ad remove obsolete define
(cherry picked from commit 85cd78b01812d108f381e42b044abaa888c4146e)
Change-Id: I85cd78b01812d108f381e42b044abaa888c4146e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-18 12:11:44 +01:00
Jędrzej Nowacki 2aba4e12ba Fix a memory leak in QXcbConnection.
Change-Id: I2307bf434c53d9321c71609eeacc1f3883bbbb13
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-18 10:31:07 +01:00
Friedemann Kleint abe5a0a432 qtbase: Warnings fixes.
Change-Id: Ie97e36bc168b3de3cae2d0eb615e777884529a06
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-18 10:31:07 +01:00
Rohan McGovern fc3705cd04 Fixed crashes from tests using xcb plugin with -qtnamespace.
Use QT_BEGIN_NAMESPACE/QT_END_NAMESPACE consistently in xcb plugin.
Some, but not all, of the sources were already using QT_BEGIN_NAMESPACE.

Change-Id: I23b83cc88870fd4039437b733084ab86dd807356
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2011-11-18 03:18:48 +01:00
Kai Koehne e8fd6f2fd1 Update V8
Change-Id: Ie6157e0baa55271707b3e00ed80b67ab79f4f570
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2011-11-17 17:40:06 +01:00
Kent Hansen 44b6bb3560 Call invalidateResource() on QOpenGLMultiGroupSharedResource-owned resources
Commit 202127f860 ensured that
QOpenGLMultiGroupSharedResource-owned resources are deleted,
but it was missing a call to invalidateResource().

Change-Id: I166ce8a7298772408081331fe1a91bd2cd88aebb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-17 17:40:06 +01:00
Olivier Goffart fc6ba401d2 Fix tst_Moc::oldStyleCasts
This tests that the moc generated file produces no warnings with very
pedentic compilation flags.
In that case, there was a warning because of the use of the C casts

Change-Id: Ie79c6d053ff35c55276a07212c5d60f759f693ee
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2011-11-17 16:13:49 +01:00
Pierre Rossi 2a37fd0b85 Fix sliders style issues.
Due to their widget heritage,some styles' logic for drawing sliders
incorrectly assumed a rect with a top left point at (0,0).

Change-Id: I02d9c32d925650ccb36e2b917dd890e5d2bbf925
Reviewed-by: Jens Bache-Wiig
2011-11-17 14:48:20 +01:00
Jędrzej Nowacki e70457fc4f Reimplement some QMetaType methods.
Methods of QMetaType; sizeOf, construct and destruct were reimplement
using QMetaTypeSwitcher. The change should have impact only on
maintenance (by removing 3 type switches).

Change-Id: Iac3eb52de75d46f12ac32f229a26aec5b5bc7af2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-17 14:48:20 +01:00
Jędrzej Nowacki 7c670aa88b Reimplement QMetaType::typeName.
New implementation is slightly faster (~30%) and it is not dependent
on order of definitions in QMetType::Type. Which means that we do not
have to maintain a separate type list.

Change-Id: I0ceb8c919c08afaa55146fbc3f021b78ffc2c063
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-17 14:48:20 +01:00
Richard Moore bf7364f0aa Improve the testability of QSslOptions.
The handling of QSslOptions is complicated not only by the subject, but
also by the fact that some of the openssl directives are negatives. This
commit tries to separate the inherent complexity from the complexity of
the api by allowing us to test them independently.

Change-Id: Ieb9386c69dd9b0b49dc42e26b2878a301f26ded1
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-17 13:22:56 +01:00
Rohan McGovern 944b799944 Fixed compile of QtPlatformSupport with -qtnamespace.
Change-Id: Iba411d35abe85ecf29a44d99113954a0561ae286
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-17 11:49:10 +01:00
Rohan McGovern a068e707af Fixed compile of QtGui with -qtnamespace.
GL headers should not be included inside of the Qt namespace.

Change-Id: Ib19cbd3ab7b071a96e0816798f8ebc3fd4e28448
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-17 11:48:09 +01:00
Friedemann Kleint 11e8138495 Fix compilation with -force-asserts.
Change-Id: I2f697ba9ab9a5a8393e778abad4da18c7f232d7f
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2011-11-17 11:29:37 +01:00
Alberto Mardegan 45d3702295 Don't directly access QList contents
The existing code doesn't work on 64bit machines. We must first convert
the list into a QVector, which guarantees that elements are laid out
correctly as an array.

Merge-request: 1467
Reviewed-by: thiago
(cherry picked from commit 00020eed3fa948f69cfa776e92121edec6f975cc)
Change-Id: I00020eed3fa948f69cfa776e92121edec6f975cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-16 18:16:26 +01:00
Harald Fernengel cd6bd7aa11 Revert logic when building with --force-asserts
This reverts commit f109f5b8a9.

Instead of disabling the asserts, rather enable the debug code
so the asserts actually trigger.

Change-Id: I6f62588d836de5c926294241e8d7196a963e4aac
Reviewed-by: Eckhart Koppen <eckhart.koppen@nokia.com>
2011-11-16 15:27:23 +01:00
Peter Hartmann f1f95d7047 SSL: fix compilation warning with gcc 4.6.1
"qsslconfiguration.cpp:204:73: warning: suggest parentheses around
comparison in operand of ‘|’ [-Wparentheses]"

Change-Id: I887ffdf3ef8263c35a8f391b3fc97faee41b7dab
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2011-11-16 15:27:23 +01:00
aavit 041e32d6e1 Fixes: unwanted gcc export of symbols from bundled libpng
This removes a change to libpng that was only relevant for building
a certain Qt 4 tool in certain environements without system libpng.
This is no longer relevant, so this kludge should now be removed.

Change-Id: I9a04ab0224f9e84ccab3ec27762582be439fe3ef
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2011-11-16 14:03:02 +01:00
Toby Tomkins 91af333634 Fix Qt namespace compilation.
Change-Id: I259b5fde8e4d75d28def8650c4c9208accdf0bbe
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-16 11:56:48 +01:00
Peter Hartmann 4dc390e66f SSL namespace: rename TlsV1 to TlsV1_0
This is a source-incompatible change.

TlsV1 is ambiguous; what is actually meant is TLS version 1.0. There are
also TLS versions 1.1 and 1.2; we might want to add options for these
once OpenSSL supports them (apparently they will be with OpenSSL version
1.0.1).

Change-Id: I940d020b181b5fa528788ef0c3c47e8ef873796a
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-16 10:32:10 +01:00
Jędrzej Nowacki 2f90c4e40e Make QTest::newRow a bit more verbose if a data tag is null.
Currently QTest::newRow function expects to have correct tag string for
each test data. This was enforced by a simple assert. By adding a
an assert with message we might simplify debugging of a test that
generates test cases.

Change-Id: I84ebb397264c99e7bb46d281fd38583dd2d6964c
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-16 10:32:10 +01:00
Eckhart Koppen f109f5b8a9 Fix Q_ASSERT usage in case -force-asserts is enabled
Certain Q_ASSERT usages are not compiling with -force-asserts since they
are checking for instance variables or other items which are not
available in release mode.

This fix guards the asserts to only be enabled in debug mode.

Change-Id: I2ed74e3d5118608361e8c924e93d8ff0efdc8eab
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-16 09:08:07 +01:00
Jørgen Lind 18affc8c0a Add correct event mask for Qt::WindowTransparentForInput in xcb plugin
Change-Id: I4c683c08876cc6fa934971399af7e48b160168fc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-15 20:07:17 +01:00
Jørgen Lind ef8da487a8 Adding a "helper assert" for when you can create QWindow
maybe if your trying to instansiate a QWindow before the QApplication has
been instansiated.

Change-Id: I68ed4ad1dbdfedc242a7cb27c1381d50a3d3dfa4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-15 20:07:17 +01:00
Pasi Matilainen 31da70ff8e Fix QDockWidget titlebar button positioning on Mac OS X
Move the QDockWidget close and float buttons from the right end of the
dock widget title bar to the left end to avoid Mac App Store rejection.

Task-number: QTBUG-19493

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 3b2bd144b7873daf2e7119248dbac7c0f0253993)
Change-Id: I3b2bd144b7873daf2e7119248dbac7c0f0253993
2011-11-15 18:33:58 +01:00
Tero Ahola 44e8b84cae Fixed memory leak in Windows Vista style widgets
The animations are now deleted in destruction of the Vista style.
With the previous implementation the animations were not deleted for
instance if you move mouse cursor off from a widget with hover
animation (like QPushButton).

Task-number: QTBUG-21532

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 261bbb12003dab0e45b5814f85dd74aa64bcfb79)
Change-Id: I261bbb12003dab0e45b5814f85dd74aa64bcfb79
2011-11-15 18:33:58 +01:00
Jiang Jiang 3d063ecc5f Provide defaultFont with fontconfig db
So that it won't just return "Helvetica" that may not exist in
target system. Providing it seems to fix QTBUG-21833 as well,
thus we can remove the QEXPECT_FAIL statement in qlistview test.
'_' appears to reach the minimum right bearing in some fonts.

Task-number: QTBUG-21833
Change-Id: I2340af6ee736083ec4f6575e469840ebec4e545e
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-15 18:33:58 +01:00
Jędrzej Nowacki 5bc35276fb Hide QVariant helper classes in a namespace.
Moving these classes to an unnamed namespace reduced chances of
a name conflict and size of executable. GCC 4.6 in release mode produces
a 5kB smaller binary.

Change-Id: Ie1819a88180f9db1cd32cc59ea6fe268ecbd5813
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-15 18:33:58 +01:00
Kent Hansen 202127f860 Ensure that QOpenGLMultiGroupSharedResources are cleaned up
When a GL context group is destroyed, all multi-group shared
resources associated with the group should be cleaned up.
Otherwise we could get a double deletion in the resource's
destructor, because it still retained a pointer to the
deleted group.

The missing cleanup resulted in a crash when the global
static qt_gl_functions_resource was destroyed, first seen
in the tst_examples autotest in qtdeclarative. It possibly
didn't manifest before because it's event loop-dependent
(the contexts are deleted via deleteLater()).

Change-Id: I6b1e0bfdfbbb2bff8e795f545e680fcdfa094768
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-15 17:09:35 +01:00
Kent Hansen 7b3bb6759b Make V8 build on Windows again
Forgot to add a Windows-specific source file to the project
when the new V8 version was imported.

Change-Id: Id20dcba132bf2609338845e8a769fcc8c1cbc562
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
2011-11-15 13:33:08 +01:00
Richard Moore 75b2a4960b Add the ability to do unsafe SSL renegotiation as a fallback.
This commit adds the ability to perform legacy SSL renegotiation as
a fallback via QSsl::SslOptions. This is something that used to work,
but has been disabled by default in newer versions of openssl. The
need for this has been reported by users (eg. in QTBUG-14983).

Change-Id: I5b80f3ffd07e0c5faddc469f6a8f857bac5740f7
Reviewed-by: Corentin Chary <corentin.chary@gmail.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-15 11:53:44 +01:00
Olivier Goffart e1ca68077a moc: Remove code that generate QMetaObject.
This code is totally outdated, and has never been used in Qt4 AFAIK

Change-Id: I775fe87532807e77fc94fe661e4b659c11bfd8be
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-15 11:53:44 +01:00
Olivier Goffart 9924a637cc moc: fix Q_INVOKABLE returning references
The moc generated code would not compile otherwise

Keep Moc::parseFunction and Moc::parseMaybeFunction in sync
(the first is used for signals and slots, and the second for normal
 functions such as Q_INVOKABLE)
Last patch that introduced function pointer updated parseFunction
but not parseMaybeFunction

When a slot return a reference, moc generate code that make the
MetaObject system think it is a void, so qt_metacall and invokeMethod
do not mess with the return value.
But when we want to take the function signature, in the IndexOfMethod
call, we need to have the exact return type.

Change-Id: I4661218d7ce367ad3934e73929e7d04f0a6dbc09
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-15 11:53:44 +01:00
Richard Moore 6f115edd74 Always use the hex format for certificate serial numbers.
In Qt 4.x the serial number is reported by a mixture of the hex value
and the number, The hex is what is used by other tools, and we should do
the same.

Change-Id: Ia0361d43fb5b920d053c95e932e0c8a012436e5e
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-15 10:16:12 +01:00
Olivier Goffart 6f4bdf3b64 QEventDispatcherQPA: processEvents should only be called once
This caused a "deadlock" in tst_qobject::moveToThread

The problem was that QEventLoop::quit was called from the first
prcessed event in that loop, put calling process event a second time
deadlock because there is no more event to process

(In practice, some event can come from the window manager or the
inputs, but they may as well not come)

Change-Id: Ia469110eb9c9de57669e80cf19e933f410e469a4
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-15 10:16:12 +01:00
Sven Anderson 2b7d98ef8f Allow to create a custom event dispatcher for specific QThreads.
QAbstractEventDispatcher() does no longer install itself into the current
thread.  Instead the new methods QThread::setEventDispatcher() and
QCoreApplication::setEventDispatcher() allow to install a custom event
dispatcher into any QThread as long as there is no default event dispatcher
created yet.  That is, before the thread has been started with
QThread::start() or, in case of the main thread, before QCoreApplication has
been instantiated.

Change-Id: I7367e13d8d8aebed5a5651260bb69b8818eb1b90
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-15 10:16:12 +01:00
Rohan McGovern 4e014ace45 Integrate testcocoon support into Qt build system.
To instrument a Qt application or library with the TestCocoon coverage
tool, do `CONFIG+=testcocoon' in the application .pro file.

To instrument Qt itself with testcocoon, use the `-testcocoon' configure
option.

Change-Id: Ie77109a078d11ea51f7a073621e0df9c752c44ae
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-15 07:21:48 +01:00
Charles Yin b4d23e61ed Make QTest::qWait() handle DeferredDelete event
The QTest::qWait() function does not handle DeferredDelete, in this case
all deleteLater() calls before the qWait() won't be processed during the
wait. Add an explicit sendPostedEvents(0, QEvent::DeferredDelete) to fix
this problem.

Task-number:QTBUG-22633
Change-Id: I2c5574b4e7d3c070fad6382dc36ddfd1dfac50d6
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-15 04:32:20 +01:00
Jiang Jiang 1916460015 Do not add QPF fonts to basic font db
QPlatformFontDatabase::populateFontDatabase() routine uses a different
usrPtr format which is not compatible with the one basic font db uses
(FontFile *). We shouldn't mix them together.

Task-number: QTBUG-22713
Change-Id: I239ea085e14261f6b9ba66b03710a590a44378f9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-15 01:05:49 +01:00
Laszlo Agocs fc659979e6 Properly handle position in non-synthetic ConfigureNotify with xcb
The received window position cannot be trusted blindly, e.g. in case
of resizing a window via the mouse or calling showMaximized() the
position is bogus (for our purposes). Instead, it needs to be queried.

Before 37f338e5ed an incomplete
workaround was in place however it got removed in that commit,
resulting in weird off-by-a-certain-amount mouse position issues in
certain use cases. This patch aims to fix the issue similarly to how
it was done in Qt4.

Change-Id: I2d2a69b81a2782117b700fe366fae4c102aca1f4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-15 01:05:49 +01:00
Pekka Vuorela f5b9982805 Document QPlatformInputContext
Change-Id: I8f7599ed1f03d29a11713c7a11ed5b61a17e3dfe
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2011-11-15 01:05:49 +01:00
Mikko Knuutila 33f66acb36 Fix for the button size calculation in qmessagebox.cpp
Actually use the calculated size for needed space instead of just
ignoring the return value.

Task-number: QTBUG-16315

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 0792215fa8d227617a2080af9f12fd7f486b87d6)
Change-Id: I0792215fa8d227617a2080af9f12fd7f486b87d6
2011-11-14 23:42:17 +01:00
Bradley T. Hughes a2ece6e626 Disable qmacstyle test on Mac OS X
The QMacStyle is not built as part of QtWidgets at the moment (see the
TODO in src/widgets/styles/styles.pri), so disable the test for now.

I've included a comment in styles.pri to re-enable the test once the
style is done.

Change-Id: Ia6ea130135586f107ba257bf2c6c2c7187a830b6
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-11-14 23:42:17 +01:00
Peter Hartmann 20f80d06f7 HTTP: blacklist server for pipelining
that server was found out not to support HTTP pipelining.

tested manually; for more information see the task.

Change-Id: I9120e8be1a9a05f39f99752d6426c92fa3d093f2
(cherry picked from commit ec6d7694f72498d1b156bb0ae8d305e01931f7b2)
Reviewed-by: Markus Goetz
Task-number: QTBUG-21369
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-14 18:41:17 +01:00
Rick Stockton a329fc574b Support 31 mouse buttons (with platform plugins xcb and xlib).
This commit includes changes for mouse button support within the XCB
and XLIB platform plugins. Support in other platform plugins will be
added in the future. The namespace update is prerequisite to compile
the the Plugins, and the update in qguiapplication.cpp is required for
the enhancements to actually work.

Task-number: QTBUG-22642
Change-Id: Ie18fca3b9c86d0b6abbf2103a4f8582e6ce83e7d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-14 18:41:17 +01:00
Peter Hartmann 4329030b77 network: remove Symbian specific code
removes several files and cleans up the code, removing all Symbian
specific #ifdef's etc.

Change-Id: Ie457e54cb4b3a992f251383320d47822259c38f1
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-14 18:41:17 +01:00
Olivier Goffart 49bd825a96 moc: support mapping pointers to member functions to indexes
This change adds QMetaObject::IndexOfMethod as a parameter to
the qt_static_metacall function.
It lets the moc generated code return the index of a signal or slot
given its pointer to member function

This is required to support the new connection syntax

Change-Id: I39198c6699b5aa3599d3d282f7ac79b1e3684d33
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-14 15:52:26 +01:00
Jiang Jiang e9c7edddb5 Remove unused Mac code
Change-Id: I226ff0928cdeb70bb7f71ccace5066a430c3b05c
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2011-11-14 10:53:48 +01:00
Richard Moore e66d3d9899 Deprecate QSslCertificate::isValid() replace with isBlacklisted()
Currently isValid wrongly gives the impression it checks a certificate
for validity - it doesn't. It merely checks if the certificate dates
are valid and if the certificate is blacklisted. Since it's already
easy for users to check the dates, let's just give them access to the
ability to check for blacklisting.

Change-Id: I25be3bde6a01063034702a9574b28469bf4882cd
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-14 10:39:47 +01:00
jahonkon fd3d7429b2 Fix QPlainTextEdit when using Qt::TextSelectableByKeyboard flag
It is not possible to select text with keyboard when specifying only
Qt::TextSelectableByKeyboard flag.

Task-number: QTBUG-18952

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit 054fa68b6ae852e84f2d44a73260b4282286f5ab)
Change-Id: I054fa68b6ae852e84f2d44a73260b4282286f5ab
2011-11-14 10:35:11 +01:00
Tero Ahola 61fae7e551 Mac: Fix the color of check marks in menus with stylesheet
Task-number: QTBUG-16989

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sorvig <morten.sorvig@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
(cherry picked from commit 22c7a2f69e833789e9b5613f809ea43561624482)
Change-Id: I22c7a2f69e833789e9b5613f809ea43561624482
2011-11-14 10:34:55 +01:00
Mikko Knuutila 2b8c3ff0f0 Added base 10 to be used with QIntValidator.
Fixes an error in QIntValidator, which occurred because
locale.toInt() was missing a parameter for base value and this
led it to presume wrongly that a base 8 is in use.

Task-number: QTBUG-21602

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit ee3f763f3642d1a098e6293fbc586b34a3e6e8be)
Change-Id: Iee3f763f3642d1a098e6293fbc586b34a3e6e8be
2011-11-14 10:34:41 +01:00
Markku Heikkila d7695e82ac Fixed wrong QGroupBox check state
Handle mouserelease only if mouse is pressed in QGroupBox.

Task-number: QTBUG-19170

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
(cherry picked from commit df819cfe17f6dfd089096063524932fc4975804f)
Change-Id: Idf819cfe17f6dfd089096063524932fc4975804f
2011-11-14 10:34:24 +01:00
jahonkon ad20e965d7 Fix QDateEdit calendar pop-up having wrong date
When the calendar pops up it moves the date to maximum instead of
keeping the current date. Problem was caused by QCalendarPopup
signalling date change to QDateTimeEdit during internal date
synchronization from QDateTimeEdit to QCalendarPopup.

Task-number: QTBUG-11422

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
(cherry picked from commit b0c09896a239197411027e773214a2635744695c)
Change-Id: Ib0c09896a239197411027e773214a2635744695c
2011-11-14 10:28:19 +01:00
Friedemann Kleint 0572b972d8 Windows platform plugin: Fix compilation with MinGW.
Change-Id: Ibecfc7c5314d0dea7d796cbc586e5db05e2a80ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-14 10:27:57 +01:00
Bradley T. Hughes 9d4856b1b6 Don't pass irrelevant arguments to the compiler
When building for 64-bit, don't pass options for 32-bit code generation,
and vice versa. This silences numerous warnings while building QtGui.

clang: warning: argument unused during compilation: '-Xarch_i386 -mmmx'
clang: warning: argument unused during compilation: '-Xarch_i386 -m3dnow'
clang: warning: argument unused during compilation: '-Xarch_i386 -mmmx'
clang: warning: argument unused during compilation: '-Xarch_i386 -m3dnow'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse'
clang: warning: argument unused during compilation: '-Xarch_i386 -mmmx'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse2'
clang: warning: argument unused during compilation: '-Xarch_i386 -m3dnow'
clang: warning: argument unused during compilation: '-Xarch_i386 -mmmx'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse2'
clang: warning: argument unused during compilation: '-Xarch_i386 -m3dnow'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse'
clang: warning: argument unused during compilation: '-Xarch_i386 -mssse3'
clang: warning: argument unused during compilation: '-Xarch_i386 -mssse3'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse2'
clang: warning: argument unused during compilation: '-Xarch_i386 -msse2'
clang: warning: argument unused during compilation: '-Xarch_i386 -mssse3'
clang: warning: argument unused during compilation: '-Xarch_i386 -mssse3'

Change-Id: If4313b151e73db88d516998e3cf546e62495c289
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-14 09:45:18 +01:00
Bradley T. Hughes 0109f86e51 Don't use deprecated functions on Mac OS X
io/qfilesystemwatcher_fsevents.cpp:346:15: warning: 'stat64' is
deprecated [-Wdeprecated-declarations]
        if (::stat64(it->absolutePath, &newInfo) == 0) {
              ^

According to 'man 2 stat' on Mac OS X, the stat64() function is
deprecated in 10.6 and above. Instead, we are supposed to define
the _DARWIN_USE_64_BIT_INODE which enables the 64-bit ino_t member in
the stat struct and uses function symbol suffixes to call the correct
version of stat with 64-bit inode support.

Change-Id: I697374186c7f4d69df783f06962ca5644222194d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-14 09:45:10 +01:00
Kent Hansen 198933a043 Update V8
Fixes a bug in one of our patches that caused
hydrogen to optimize incorrectly.

Task-number: QTBUG-22679
Change-Id: I008088cd2b878f22e6a2ba4e002aeba9a3c70a22
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
2011-11-14 01:54:39 +01:00
Jiang Jiang d495d86110 Fix symbol fonts support with FT engine
It appears that the symbol_map we obtained with FreeType doesn't
work for common symbol fonts like Wingdings, in previous X11 code
we use the code path with normal charmap, to enable it we need to
make sure QT_NO_FONTCONFIG is not defined. And since the FcCharset
functions doesn't really operates on the font database, we can
safely skip the mutex calls.

Change-Id: I8c484de200be1d47c053b10be2c51d2273dcd359
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-11 16:47:23 +01:00
Jiang Jiang 89cfe9eb01 Fix application font loading in basic font db
We need to reregister fonts in initializeDb because basic font db
doesn't have an internal record like fontconfig does, so just
repopulating the font database won't work. db->reregisterAppFonts
is now used properly as intended (reregister application fonts
after the system font database has been cleared).

Also, static variable 'initialized' in initializeDb() is removed
since we check privateDb()->count to see if it needs to be populated
again.

Task-number: QTBUG-22063

Change-Id: Ifc66392b56b72acbe08b99256c61421c204be5d7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-11 16:47:23 +01:00
Friedemann Kleint 4e732b87d2 Factor out QPlatformTheme from QPlatformPlugin.
Implement QCocoaPlatformTheme. The menus and dialog
API is moved from the platform to the theme plugin.
(Both APIs contain references to QtWidget classes,
which we are working towards removing.)

The theme plugin is created after the platform
plugin, first by asking the platform plugin, then
by looking for a separate plugin if the platform
does not specify a theme.

Initial-patch-by: Morten Sorvig <msorvig@trolltech.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>

Change-Id: I2778cdd3a205c4ce35ead93e39fe6b4cd58a39f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-11 15:22:02 +01:00
Joona Petrell c92d6130fe Document QInputPanel API
Change-Id: Ie64215529139e18a0a575e149289b6fa9a699a69
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-11 15:19:16 +01:00
Harald Fernengel 6a25a86d37 Add a -force-asserts option to configure
We have the following scenario: Either you build a release package
without asserts, or a debug package with asserts. However, in embedded
development, we need asserts also in release packages. This flag allows
you to build a release package, but Q_ASSERTs still fire.

Change-Id: Icd1dd4dd63c3cafecf515b40741263d902ad42d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-11 12:24:48 +01:00
Stephen Kelly 999196e336 Add API to clear the current index. Symmetric with clearing selection.
Change-Id: I08070f4fdf26898d5b6edd5259f011f9b3c75512
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-11 12:24:48 +01:00
Stephen Kelly 0b293e4afc Make this API virtual to make selection proxying possible.
Change-Id: Ie93c8b38c59d347026a68eae03687d9017b3d048
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-11 12:24:48 +01:00
Friedemann Kleint af914694d8 QPlatformDialogHelper: Split class hierarchy, decouple from Dialog
- Introduce hierarchy of QPlatformDialogHelper-derived classes
  for font, color and file dialogs.
- Start reducing dependencies on QDialog:
  * Remove QDialog-specifics from interface, introduce enumeration
    for DialogCode
  * Make the helpers Q_OBJECTS to be able to add the signals
    passed on to the QDialogs
  * Remove QDialogPrivate pointer
- Split setVisible_sys() in show_sys() (factory method for native
  dialogs) and hide_sys(). Pass parent window to  show_sys(),
  removing the necessity to query the QDialog for it
- Introduce a styleHint() similar to QGuiApplication's for
  platform-specific
- Fix compile in cocoa/windows, reduce depency on QDialog
  (-private) classes.

Change-Id: Ic1cb715e1edf767f2cb18b9780341d189339ef1d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-11 10:58:10 +01:00
Chris Meyer 9a8a70d8e4 Prefer organizationDomain or CFBundleIdentifier for settings file
Watch for attempts to write to "Trolltech" preferences and use
QCoreApplication::organizationDomain() instead. If that doesn't exist,
then fall back to CFBundleIdentifier if possible. If that doesn't
exist, then follow the old code path and use the hardcoded string.

This change eliminates extra files being created which helps Mac app
store acceptance.

Change-Id: I1ba3984b46cf3888f371d87f6ad8ea6c2f26d2ec
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-11 10:58:10 +01:00
Tero Ahola 1505508742 Repaint QProgressBar when minimum or maximum changed
The implementation of QProgressBar::setMinimum and setMaximum did not
repaint the widget. This caused the widget to be shown incorrectly in
case you call setMinimum or setMaximum but not setValue.

Task-number: QTBUG-22121
(cherry picked from commit b1998f4f59c3b10700963b2d13a17a0cc77ef665)

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>

Change-Id: I331d37ab4451d9e096cdf91a9e0a0286bc3cdffb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-11 10:58:10 +01:00
Tero Ahola adcfc9f38b Fix QProgressBar causing timer event spam
On Windows you will get a lot of timer events if you use QProgressBar
widget. This is because QWindowsStyle uses a timer to animate a
progress bar with unknown state (min and max values both zero). The
issue was fixed by starting the timer only if needed.

Task-number: QTBUG-10501
(cherry picked from commit  72e61b127470b044e370af7017fa8a5b0538244f)

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>

Change-Id: If9ff2ab99929d9b85a7ffa8f6fd47b045b982f67
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-11 09:18:44 +01:00
Thomas Hartmann e82b120410 avoid type aliasing
For -O2 gcc activates -fstrict-aliasing. As a result the compiler is
allowed to assume that pt[1]=px[1]/3+B1 does not affect t.

Therefore the result of _fast_cbrt() was always 0.
Using a union for casting avoids this issue.

For more details see:
http://labs.qt.nokia.com/2011/06/10/type-punning-and-strict-aliasing

Also the updated code respect endianness.

Change-Id: Id4bed16efac52e494e7357dc2f23f94e8c525df1
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-11 09:16:21 +01:00
Shane Kearns d457f148cf Fix warning when using QXmlInputSource with non opened QIODevice
Calling setTextModeEnabled on a QIODevice that is not open generates
a warning as a result of QTBUG-20905. Previously, it caused incorrect
behaviour when called with true.
Now only call it if the QIODevice passed in is already opened.
If not open, then it is opened by the xml reader without text mode,
so there is no difference in behaviour.

xml autotests still pass, although this removes several QWARN messages
from the qdom autotest.

Task-number: QTBUG-22659
Change-Id: Ie3137e44fe776bff6371ebd008428110168717ec
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-11-11 02:45:05 +01:00
Olivier Goffart 96611a677f Fix parsing of #if defined expression
We only need to match the closing parentheses if there was an opening one

This has caused mis-parsing of tst_qbytearray.cpp

Change-Id: I9d52916e3ed8549c5ddd968092451fef7389a952
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-11-11 02:45:05 +01:00
David Boddie c888e20f22 Doc: Added more appropriate links to help reduce confusion.
Task-number: QTBUG-19919
(cherry picked from commit 26c29a2dd7efa4c66063d1255e1f694462cbae85)
(cherry picked from commit 8304ca4edd7bd71dd0398451e62a281eac54d0a6)

Change-Id: Icd45465723f9077f109459df002556be81dddb33
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2011-11-11 00:01:10 +01:00
Olivier Goffart e6abf81046 Removed include to qdatastream.h from qmetatype.h
Added forward reference to QDataStream instead

In the new connection syntax, I want to include qmetatype.h from qobject.h,
in order to handle metatype for queued connection.
So qdatastream cannot be included here (as it inherit qobject) else it would
lead to circular inclusion.

QDataStream is only used in templated code that is dependent on the
template parametter so it is fine to have it forward declared.

Change-Id: I08ea479f481262a80451a277ee29533c42cb9f89
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2011-11-10 13:33:02 +01:00
Aaron Kennedy bcd16f9453 Update V8
Change-Id: Ic239ef1e55bed06260e4a04cc2199f64c2d30059
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2011-11-10 13:22:13 +01:00
João Abecasis 95d7abb694 Fix Q_STATIC_ASSERT on Mac
gcc 4.2.1 complains about the use of C++-style cast in the macro.

    error: template argument 1 is invalid

. Changing the bool-cast to a C-style cast makes the test compile.

Change-Id: Ie9082a3adbfd53147bfd0bfe36dd9e7328e01ee8
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-10 13:17:52 +01:00
Pekka Vuorela 5665c6a55a Updated Qt::InputMethodQuery documentation
Change-Id: Ibd27231366e4af2780bfe2f8f735da74dc04a1cf
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-10 13:08:00 +01:00
Pekka Vuorela a806887992 Document QInputMethodQueryEvent class
Change-Id: I6e98f9e690b733a06ee165e5b01ab6a5a784791b
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-10 13:07:51 +01:00
Pekka Vuorela dc2a1aff9b QWidget text editors to commit text on their own on losing focus
Change-Id: I3b907661e8a24a6dbdaabf607c5c528b1b471c98
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-10 13:07:38 +01:00
Pekka Vuorela b5c37d9e13 QTextEdit to use tentative commit instead of QInputPanel::commit()
Latter to be deprecated.

Change-Id: I2c302c73a7ab2f4201af6a3c6fb4a64a4760263e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-10 13:07:30 +01:00
Pekka Vuorela 1dbfbf4c66 Implement partial tentativeCommit support in QTextEdit
Available on plain text for now, html support still pending.

Change-Id: I0818b97874e80c8c1b33a9127aa7bb3330a8761d
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-10 13:07:20 +01:00
aavit 77082cd7c9 Add isDebugBuild() query function to QLibraryInfo
Also cleaned up the doc, removing references to the buildkey() function
that has been removed.

Change-Id: I2cb403f93d93c0b2f71c8502818d669f7bfbfbec
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-11-10 13:02:34 +01:00
Morten Sorvig 95c007e1f5 Compile.
QNSPanel must be a NSPanel and not a QNSWindow
subclass.

Change-Id: I1de31e147757824610f4aabc0ef66ae3906dc0f6
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-10 12:55:36 +01:00
Andrew den Exter 7125dd7186 Propagate QTest::mouseEvent keyboard modifiers.
The QWindowSystemInterface mouse functions now have keyboard
modifiers parameter, make use of them.

Task-number: QTBUG-21743
Change-Id: I65ba1095825b81d575d314c1de2a45cef28e697a
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-10 03:09:58 +01:00
Bradley T. Hughes b36e6c4319 Remove unused MMX/3DNOW/SSE/SSE2/SSSE3/NEON custom compiler logic
The QtWidgets module doesn't contain any code that needs these custom
compilers (that code has been move to QtGui).

Change-Id: I655e478908bfa0b646e68210f6215d9ffbb1f81e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-10 00:41:33 +01:00
Johannes Zellner 08c2368911 Fix build when QEGL_EXTRA_DEBUG is defined for debug output
Also shift EGL configuration plot above window surface creation

Change-Id: I2de860e087cb2648b6e8e9b75365fbe78fe7687a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-09 22:13:20 +01:00
Johannes Zellner b44011fb77 Adopt eglfs platform plugin to changed QEGLPlatformContext API
eglClientVersion is not used anymore

Change-Id: I8595a17386c1466d7766522adbdbd7cd5002ecf8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-09 18:20:00 +01:00
Bradley T. Hughes fb01907050 Correctly normalize timevals before calling select()
When normalizing timevals, we need to bound the tv_usec member to
0-999999 inclusive, otherwise select() may return EINVAL.

When rounding timevals to the nearest millisecond in the UNIX event
dispatcher, pass the timeval through normalizeTimeval() when returning.

As discovered on Mac OS X with tst_QFutureWatcher, starting a 10 second
timer would end up calling select() with timeval = { 9l, 1000000 },
resulting in numerous "select: Invalid argument" warnings being printed
to the console.

Change-Id: Ic539e935bf847e0d4c22a73ad203e3a7a81d0690
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 18:20:00 +01:00
Friedemann Kleint 9c9bbfc13c QVariant: Fix MSVC compiler warning about unused variable null.
Use static method isnull().
Introduced by ca26fefc06.

Change-Id: I752f8d8a5ec473dcc5f50fbda47d061b8d3a7e13
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2011-11-09 16:52:48 +01:00
Bradley T. Hughes 67a9b95009 Remove unnecessary variable self-assignment
Assigning an int variable to itself is unnecessary and pointless, remove
them.

styles/qplastiquestyle.cpp:932:23: warning: explicitly assigning a
variable of type 'int' to itself [-Wself-assign]
                width = width;
                ~~~~~ ^ ~~~~~
styles/qplastiquestyle.cpp:939:23: warning: explicitly assigning a
variable of type 'int' to itself [-Wself-assign]
                width = width;
                ~~~~~ ^ ~~~~~

Change-Id: I0118874028bf43992bcce07f87b46b48868436cc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 15:28:36 +01:00
Pekka Vuorela 767d553fc2 Un-internalized QDBusServer
Was marked internal earlier because of missing implementation. That
should be now in place.

Change-Id: I9005da4455299386556e567847474c8d8b6fd5ea
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-09 15:28:36 +01:00
Morten Sorvig 2fd3dbb00c Cocoa: Implement mouse and keyboard grab.
Change-Id: Id53ff19d43213d79aaf8f1a6617a06ef9d0cfb4b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-11-09 12:16:58 +01:00
Friedemann Kleint 260416393e Widgets: Remove dialog functionality from QGuiPlatformPlugin.
(as QGuiPlatformPlugin is deprecated)
Clean up qdialog.cpp.

Acked-by: Morten Johan Sorvig <morten.sorvig@nokia.com>

Change-Id: Id49d6cfe235d5afb4c89b0697c6b3980130a5299
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-09 10:41:09 +01:00
Jędrzej Nowacki ca26fefc06 [optimization] QVariants comparison
QMetaType::isRegistered and QMetaType::typeName are quite expensive.
To compare two custom objects we need to have their type name (for
dereferenced comparison). If the name exist we know for sure that the
type is registered and we do not have to call QMetaType::isRegistered
anymore.

Change-Id: Iba631e012504c8633868a902880fa30d38afb917
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:12:34 +01:00
Jędrzej Nowacki 5bd377274e Add QPolygonF to metatype system.
That was strange that QPolygon was know to QMetaType class but QPolygonF
not.

Change-Id: I67bb99644b8b1d0fe1aec730619d8048cb78219b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:12:18 +01:00
Jędrzej Nowacki 8fd64d22ac Make usage of internal QVariant space.
Each QVariant instance has internal storage which may be
used for well-know basic types. This patch changes the
behavior by delegating type dependent operation to QMetaType
class which knows more types than QVariant itself.

The patch significantly reduce amount of code in QVariant
implementation.

There are few side effects of this patch:
- better performance:
* for Core types when using Gui (QGuiVariant is able to
construct Core types)
* for small custom types (QVariant::Private::Data is used for all
types that has size small enough)
- comparing two QVariants can give different result for small custom
types (binary comparison instead of pointer comparison)

Change-Id: Ic17fa500d6a882110bfba896fd456c8e6c7a63a9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:34 +01:00
Jędrzej Nowacki 2b39be6dd5 Implement QMetaTypeSwitcher.
Currently one of the most common coding pattern, when working with
QMetaType types, is to switch over all types ids to convert a given
type id to a real c++ type. The pattern is not perfect, because of:
- code duplication - to convert type id to a real type a user has to
write own switch case
- maintenance - adding new type to QMetaType::Types doesn't propagate
to other parts of code.

Proposed type switcher can solve the issue by switching type id and
delegating found c++ type.

The class is created for internal use only and was created to simplify
common problems in QtDeclarative, QtScript and QVariant.

Change-Id: I0567ef908024b3b05ee18126f98a73a74748fbd2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:14 +01:00
Jędrzej Nowacki eda469d3a0 Add QTypeModuleInfo template class
From time to time it is necessary to know from which module a type comes
from. This information couldn't be part of QTypeInfo as id doesn't work
for forward declared types.

QTypeModuleInfo should stay for Qt internal usage only.

Change-Id: Ia53747c88293fc0cdaffef919b94c653412779d3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:09 +01:00
Jędrzej Nowacki 7f35d5849e Refactor QMetaType types.
QMetaType::Type enum is the main source of type ids. Currently
there are many tasks that can be replaced by a smart macro that
can iterate over all types. The patch introduces series of FOR_EACH_
macros that may be used for code generation.

As the first step the macro was used for Q_DECLARE_BUILTIN_METATYPE
to make sure that no type was forgotten.

Second step was to use created macros in autotest to improve tests
coverage.

Change-Id: I34e9ad7bacf02b44b028bc1aad20b1241aacebd3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:02 +01:00
Friedemann Kleint 635cf1badf Widgets: Remove remains of Windows file dialog.
Also remove Windows-specific binary compatility hack from Qt4.

Change-Id: I4b6914b357f21737e392745f907c770db9f7a641
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-08 17:20:39 +01:00
Aurindam Jana 124044613d QGlobal: Define a default message handler
Currently, qInstallMsgHandler() does not return the
handle to the default message handler. This patch defines
a default message handler. This is returned by
qInstallMsgHandler() when called for the first time. A call
to qInstallMsgHandler(0) will restore the default message
handler as was the case previously.

Change-Id: I42f06654d45fb0e633f3c6d912fc8f05c23249aa
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-08 17:20:39 +01:00
Olivier Goffart a4f446704e QNAM: Fix authentication cache when the password is in the URL
Two problems:
 - The signal cacheCredidentials was not connected in the synchronous
   case while it must be connected. (Regression when the threaded http
   was merged)
 - We cannot cache the credidentials when we proceed the url because
   at that point, we do not know the realm (this basically reverts
   9bc5a32b875b812c3a706034c8c27614f86bd138)

Task-number: QTBUG-18411

Change-Id: I8ea11fa23db4314c3f17ed06d2d7f9ee934ccdba
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-08 17:20:39 +01:00
Jiang Jiang 1c70cd9980 Avoid double initialize of platform font database
Since platform font database will be populated in QFontDatabase::load,
no need to do it here in QFont::initialize.

The change was in cd781b732e but lost
in previous merge.

Change-Id: Iaa56fea5765d94e4f7b58409654bc218808086cd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-08 15:52:28 +01:00
Peter Hartmann 7a78248e9c SSL: blacklist intermediate certificates that issued weak certs
... as did browser vendors.
Tested manually with affected CA certificates.

Reviewed-by: Richard J. Moore <rich@kde.org>
(cherry picked from commit e1d6df4e5931ee49b4b68dd5a33146f5639268b7)

Change-Id: I5bf6c147abf6d2de0f313d65faa2d9a1e9684cea
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-08 15:52:28 +01:00
Morten Sorvig ed55c4a14c Cocoa cursor support: Add QCocoaCursor.
Port the Qt 4 mac implementation.

Change-Id: I3bc6fd0b5a0398dcf43a5aaa3b498bb74b42c105
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-08 15:52:28 +01:00
Friedemann Kleint f54411069c Widgets: Use QPlatformDialogHelper in QColorDialog/QFontDialog.
Change-Id: Ib9a2f19679c2d4c8583742a918d61c1a98403843
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-08 14:10:15 +01:00
David Faure 5e26608ae2 Add Q_DECLARE_PRIVATE equivalent for QDir, to be able to subclass it
Apply the same solution to QFileInfo (no public detach(), but a
non-inline d_func instead).

Change-Id: I31c4c759f44a0649b97f7884b078b174c9c00f22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-08 12:09:06 +01:00
Charles Yin 78542c6275 QPainterPath: Fix copy constructor again.
The previous fix a05270f435 is not correct,
QPainterPathPrivate(other) should be QPainterPathPrivate(), as there
is only a default ctor for QPainterPathPrivate and ref is initialized there,
 use copy ctor just copies the ref value which makes all detach() calls broken.

Add an unit test for this as well.

Change-Id: I658f0a977664d5ec523af3f8a48c1a866eda6ab0
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2011-11-08 07:43:00 +01:00
Jiang Jiang 63eae1bd15 Fix subpixel positioning support
Move subpixelPositionForX from QTextureGlyphCache to QFontEngine,
since some font engines like QFontEngineFT may need a custom
implementation or tweak it a little bit.

In QRasterPaintEngine::drawCachedGlyphs, do not add aliasedCoodinate
to x offset as that will break subpixel positioning.

Change-Id: Idbcec617509459b80965220ceb07b17737649bbf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-08 07:43:00 +01:00
Jędrzej Nowacki 04f6983979 Implement QRegion::isNull
The method was missing from QVariant perspective (QVariant::isNull
supposed to call isNull not isEmpty).

Change-Id: Ic1ac9f662e275ac73908809f2c4ac59679b40b00
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
2011-11-08 06:20:42 +01:00
Friedemann Kleint a05270f435 QPainterPath: Fix copy constructor.
Re-add base class initialization accidentally removed by
e277575987.
Fix warning: 'base class 'class QPainterPathPrivate' should be
explicitly initialized in the copy constructor.

Change-Id: Ie94fa82eeeb3a8ddc69aef447f73ce36da616916
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-07 16:49:08 +01:00
Bradley T. Hughes b2bc9d2762 Bump QCoreApplicationPrivate::app_compile_version to 0x050000
The minimum compile version is 0x050000 now, it cannot be less. Remove
checks for 0x040200 in the widget code, which provided compatibility in
the 4.x series for binaries compiled with 4.0 and 4.1.

Change-Id: Ia01da90de26dca6aeeb79d29c754cbeeecf809af
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-11-07 16:45:16 +01:00
Joerg Bornemann c76e91db97 symbian epoc root code removed
Change-Id: Ibc9f5e42c534a09a8a44a0c95789f467970d38a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-07 13:26:41 +01:00
Andrew den Exter db34625eae Fix QQuickTextInput implicit width.
QQuickTextInput tries to set the UseDesignMetrics text option on its
QLineControl but this is overridden by the options set in
updateDisplayText(). Apply the new options in updateDisplayText to
the existing options.

Change-Id: I6789c3c2d6e496c1594d586bd075473983978f77
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2011-11-07 01:11:30 +01:00
Richard Moore 6248b869d0 SSL certificates: add functionality to read extensions
... by adding a new class QSslCertificateExtension and methods in
QSslCertificate to support extensions. This is needed e.g. for OCSP
(checking revocation status of a certificate) or Extended Validation
certificates.

Change-Id: I5c5d9513fa640cd487786bb9a5af734afebd0828
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-06 21:00:39 +01:00
Kevin Simons efe02f9673 Reinstate and deprecate the two argument QMetaType::construct
Change-Id: Id291f00ba13a39b4af022b75fd428b876d6dd9b0
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela 7851568c65 QLineEdit - made mouse interactions commit preedit
Simplifying input context mouse handling rules by making
the editor in charge when text gets committed and selected.

This includes:
 - Allowing selection to start on top of preedit. Commits once a
   single character gets selected
 - Double click to commit preedit before selecting a word.
 - Only sending events to input context that happen on top of preedit.
 - Committing preedit when a mouse press happens outside of it,
   allowing to move cursor to click position.

Change-Id: I9dab00ea3445055ffd0d7cae540a1197c5748509
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela 10dc2171cf Fix broken indendation with hard tabs
Change-Id: I1aa161ddab55f11683b2eee3c205505a829013c4
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela 8bd40fef07 Support tentative commit string with input method.
Tentative commit string allows input method to notify editor
what is expected to be committed in the place of preedit.
This commit adds such support in QLineEdit.

Change-Id: If855619bc6843652db0d6254f7e7063bb8ad0936
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela 4b3d88a9c6 QTextEdit - mouse events to override input context
- Selection can start on top of preedit
- Mouse press outside preedit commits
- Double click to commit on top of preedit

Change-Id: Ia2698d97d354a677d935de1a8fd9ed53a161ca5e
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 22:10:52 +01:00
Jiang Jiang b2b3046804 Allow disabling FreeType internal cache
To disable it, set QT_NO_FT_CACHE environment variable to 1.

Change-Id: I086aa93c71cbdf86858a41a2bbad5d2db247cdfb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-05 02:30:04 +01:00
Jiang Jiang 2b2221fcfa Fix a warning in QGlyphRun compilation
Change-Id: Ic072240193fc8eb5e7fdcd0dada79383398b224b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-05 02:29:41 +01:00
Jiang Jiang bdf2225b9b Restore subpixel rendering support with fontconfig and FreeType
Change-Id: I45cf83374ba5a8b1ae88415950c1e5ab72991598
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-05 02:29:32 +01:00
Laszlo Agocs 0008428f90 Prevent timestamps in widgets' touch events from disappearing
Change-Id: I096914eb2b02ad9c4a5c0462a1f4b76ef17c3957
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-04 20:48:19 +01:00
Jo Asplin b68bae1132 Added -datatags option to QTestLib
(Note: This feature is ported from Qt 4.8.
 See the following commits:
  01575deafb7d26ca2431374e92c6d71de96547c7
  4866d1ba8afbab61e102942d1ea93b81fea053d6
)

Passing the -datatags option to a QTestLib program prints the
available data tags to standard output.

For completeness, the test case name is also printed
at the start of each output line. (Although the file name
is supposed to match the lower-case version of the test case
name, this is currently not true in all cases (particularly not
under tests/benchmarks/). Even if there was a script to enforce this
convention, the -datatags option provides this information in a
reliable way.)

Data tags for each test function (f() in this case) are printed in
four different ways depending on the presence of local and global
data tags:

Case 1: No tags:
    tst_MyTestCasetst_MyTestCase f

Case 2: Local tags only:
    tst_MyTestCase f local tag 1
    tst_MyTestCase f local tag 2
    ...

Case 3: Global tags only:
    tst_MyTestCase f __global__ global tag 1
    tst_MyTestCase f __global__ global tag 2
    ...

Case 4: Local and global tags:
    tst_MyTestCase f local tag 1 __global__ global tag 1
    tst_MyTestCase f local tag 2 __global__ global tag 1
    ...
    tst_MyTestCase f local tag 1 __global__ global tag 2
    tst_MyTestCase f local tag 2 __global__ global tag 2
    ...
    ...

Note that the string __global__ is assumed to be highly unlikely to occur
in a data tag (if it does, an ambiguity results).

Change-Id: Ib51aa0c3c32ad52e52ce519729292cf8f0ec5d50
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
2011-11-04 19:23:33 +01:00
David Faure 480c1db1ba Fix usage of QtConcurrent headers with -Wshadow -Werror
Change-Id: I172888518a3db01f89e61061eccf85f7f3387d07
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
2011-11-04 15:58:17 +01:00
Friedemann Kleint 5a67cd2495 Windows: Add dialog helpers for native dialogs.
Implement QPlatformDialogHelper for file dialogs based on
IFileDialog. Add prototypical implementation of color dialogs.

Change-Id: If3c7470be6c0b8fbf8cfea1b6638bda43afafea7
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
2011-11-04 15:58:17 +01:00
Jiang Jiang 35f56b0cf9 Revert "Avoid fontconfig access in fontEngine creation"
This reverts commit 8dcb52df8e.

Turns out that hint style is retrieved from font match instead of
pattern match, which shouldn't be retreived until font engine
creation.

Change-Id: I90e779a3823e6a6604cdadb52586fcd5e22c295b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-04 15:58:17 +01:00
Samuel Rødal 171e137d25 Improve QtGui start-up time and memory use.
The gamma lookup tables can be allocated and computed on demand, as
they're not always needed, depending on the platform and the use case.

Change-Id: I2d4c2860746366a0e46edb53bd4ecd2778de2464
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
2011-11-04 14:31:25 +01:00
Lars Knoll aa7e89e807 Revert "Use standard spelling for two languages"
This reverts commit 9358f7eaa4.

The change is source incompatible and hasn't been agreed upon. Revert
it even though it's correct in principle. It's simple to keep the old
enums around for compatibility.

Change-Id: I8d9d33868e44d0299a3f081833b06cedf0ed4345
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-04 12:37:27 +01:00
David Faure 272d20ce27 QStandardPaths: add DownloadLocation.
Only properly implemented on unix (XDG), falls back to Document location
on Mac and Windows, because not easily available with the current API
being used by either one.

Change-Id: Id269f0e3c4e3a68e19205de96c0b39980fde80ff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-04 10:54:54 +01:00
Jiang Jiang c30ebdeac0 Do not put cursor at non-stop character positions
When moving cursors, non-stop positions are skipped, however certain
input sequences can still lead us there. In such cases we should
simply ignore those positions in cursorToX.

Task-number: QTBUG-7076
Change-Id: Ia0a25931f4043359f72a6c0c14a74b905e40b93e
Reviewed-by: Eskil
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-04 01:54:33 +01:00
Jiang Jiang 75a2b9eef2 Release font engine refcount when done using it in QTextEngine
5f2b6dd2a50275bc05ae5d7e9dd8902d6d49d9df increased refcounts for
font engines in QTextEngine cache, we need to decrease them when
the QTextEngine is deallocated.

Task-number: QTBUG-21222
Reviewed-by: Eskil
(cherry picked from commit 8935a84e18804c7ff4b7336e3cfdf1cd558eaf1c)

Change-Id: I079c903d60e1bbcf78f555f8044dde69af82cf0e
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-04 01:54:29 +01:00
Jiang Jiang 9358f7eaa4 Use standard spelling for two languages
Singhalese -> Sinhalese
Divehi -> Dhivehi

Change-Id: I3faa7163202a4a9be14e3cf857da60aa4dd3196f
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-04 01:54:25 +01:00
Friedemann Kleint 720093ebd9 QWidgets: Delayed creation of the QPlatformDialogHelper.
- Create helper only once and ensure deletion
- Move nativeDialogInUse into QDialogPrivate, ensuring the native
  modal helper is called from QDialog::exec() only if it is true

Change-Id: Id92b278bb051ce254458f276fbf7075689a7d491
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-04 01:54:02 +01:00
Sergio Ahumada e71ac20d0f Add QT_MODULE(Gui) macro
Fixing `macros' function test of `tst_headers'

Task-number: QTQAINFRA-324
Change-Id: Ib6fcf276108bbb5515a72f3f17b373de82a599fc
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-03 20:07:04 +01:00
Friedemann Kleint 7d7b2d4218 QtGui: Fix compilation with gcc 4.4
- Do not mix QStringLiteral and Q_TR_NOOP.
- Replace static QString member variables by
- static member functions to return the strings.
- Use tr() since QAccessibleActionInterface declares it.

Acked-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>

Change-Id: Iabbee8ef61a5d7bfd35978a3f1cce1866329d065
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2011-11-03 20:07:04 +01:00
Oliver Wolff e84b8a3475 Fixed returned geometry of toplevel child widgets
If a widget has got a parent widget but also is a toplevel widget it
should not return its geometry relative to its parent.
In addition to that, child widgets which are not toplevel should not
change their left and top values according to their parent but also
keep their width and height intact.

Change-Id: I5e641abf5ddc0b8d056ba023f8de52af1d2ccc9f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-03 18:43:52 +01:00
Olivier Goffart ec5e59b73c QThread::isFinished should return true from finished()
and isRunning() should return false.

This restore the Qt 4.7 behaviour

In Qt 4.7, the finished() was called with the thread's intenal mutex
locked. Which mean that:
 - Call to isRunning or isFinished called from a slot connected to
   finish within the thread would deadlock. (Hence no compatibility
   to keep here)
 - Call to isRunning or isFinished from a slot connected with
   QueuedConnection in another thread would lock the mutex until
   the destructors are finished. and then return as if the thread have
   finished.

Change-Id: I963eccae8f7634aff90cc4bbab6ca886a78e35eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-03 18:43:52 +01:00
Olivier Goffart 1fe8fb81b1 Enable deprecated feature for now
Rationale is that it makes it possible to deprecate functions without
breaking other modules.

After the feature freeze, this should be reset to 5

Notice that QT_DEPRECATED is not defined while bootstrapping Qt
(QT_NO_DEPRECATED defined)

This also means that compilation is tested

Change-Id: I85f0e65ac3a160e9aba3833787ded3f94304cb90
Reviewed-by: David Faure <faure@kde.org>
2011-11-03 18:43:52 +01:00
Pekka Vuorela 255f569a43 Renamed QTextLayout member variable for readability
Class complex enough already without int i as member variable.
Furthermore, some methods use loop variable with same name, shadowing
the member one.

Change-Id: Idf2f5e34f130a60eb6121480e596e443f23641dd
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-03 16:14:08 +01:00
Pekka Vuorela 391f5670a3 Documented side-effect of QTextLayout::setPreeditArea()
Invalidates layout and requires layouting again.

Change-Id: I1cb954f155e4fc1df4b217478998ac903cc18323
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-03 16:13:03 +01:00
Jason McDonald 65ece490a9 Fix getting of enviroment strings in testlib
The standard C getenv() returns NULL if the requested environment
variable is not found.

In Qt4 and later, qgetenv() does not return a null pointer if the
requested environment string is not defined.  Instead it returns a
QByteArray containing an empty string.  If using qgetenv(), there is no
way to tell the difference between an undefined environment variable
and one which is defined to be the empty string.

In testlib, all calls to qgetenv() were checking whether the returned
QByteArray's constData() returned a null pointer, but that would never
happen.  These calls must instead check whether the QByteArray contains
a non-empty string.

Change-Id: I342f0e8b196896c26cccce3ff169fa1b9669b5ff
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-03 02:42:56 +01:00
David Faure e488efa577 QStandardPaths: fix encoding of XDG_CONFIG_HOME env var
Change-Id: Ibb89f204fc93aed5a669f8f9efc7859845e6d493
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-02 19:57:21 +01:00
Thomas Hartmann b9f0bde16e Adding custom bezier easing curves to QEasingCurve
I added the possibilty to define Bezier/TCB splines and use them
as custom easing curves.

Note:
Splines have a parametric definition. This means we have a
function/polynom of t that evalutes to x and y. x/y = f(t).

For our purpose we actually need the function y = f(x).
So as a first step we have to solve the solution x = f(t) for a given
t and then in a second step we evaluate y = f(t).

f(t) is a cubic polynom so we use cardanos formula to solve this equation
directly.

For the casus irreducibilis we need 3 functions that are a combination of
arcos and cos. Instead of evaluating arcos and cos we approximate these
functions directly.

TCB splines are converted into the corresponding cubic bezier spline.

Change-Id: Id2afc15efac92e494d6358dc2e11f94e8c524da1
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
2011-11-02 17:10:00 +01:00
Friedemann Kleint 7d560240fa Windows platform plugin: Fix compiler warnings.
Change-Id: Id7111ca74455b93aabb803babff51c4393508dbc
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
2011-11-02 15:44:04 +01:00
Olivier Goffart f3242864c3 Use C++11 static_assert
Change-Id: I75aa2bc209cdc8869e7daa9fd0dd865ccf65a68e
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
2011-11-02 13:24:36 +01:00
Bradley T. Hughes ca25b63bea Silence warning from clang: semicolon before method body is ignored
qnsview.mm:171:45: warning: semicolon before method body is ignored
      [-Wsemicolon-before-method-body]
- (void)handleMouseEvent:(NSEvent *)theEvent;
                                            ^

Change-Id: I0b2fdd9c28586ce03f14f784d35e88dbbb5bd8f4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-02 13:23:10 +01:00