Commit Graph

15422 Commits

Author SHA1 Message Date
Joerg Bornemann
48061944ef remove usage of qDeleteInEventHandler from QProcess
qDeleteInEventHandler is a mere wrapper for delete these days.

Change-Id: I0828edf3ca17642b5abf97aab66672490c35f177
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-01 11:57:32 +02:00
Joerg Bornemann
7c3efdfb6a make it possible to disable debug information in vcxproj files
Task-number: QTBUG-32885

Change-Id: I53a2208935a1c52bc7ca757651df6a0125979787
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-10-01 11:10:44 +02:00
Thiago Macieira
57e1c9a7bd Correct the bit field sizes in QTextOption
There's an off-by-one error that has been carried over since at least
Qt 4.0.0. Because of that, the class is actually 4 bytes bigger than
calculated.

Change-Id: Iaefdf657fdc780aae16390fde3c01074160e4cd9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-01 08:19:15 +02:00
Friedemann Kleint
660aed3516 Remove unused static function msecsToSystemtime() from qtimezoneprivate_win.cpp.
Change-Id: I8d6b4c9215fb4499affefd0b892cea1b77aa8ac9
Reviewed-by: John Layt <jlayt@kde.org>
2013-10-01 08:16:39 +02:00
Tor Arne Vestbø
999e5162ec QPA: Fix semantics of GUI event dispatcher ownership in platform plugins
The QPlatformIntegration::guiThreadEventDispatcher() function acted as an
accessor to event dispatchers created in the constructor of each platform
plugin, but the logic and semantics of event-dispatcher handling in Qt
itself (QCoreApplication/QGuiApplication) still assumed both ownership
and control over the event dispatcher, such as when to create one, which
one to create, and when to delete it. This conflicted with the explicit
calls in the platform plugins to QGuiApplication::setEventDispatcher(),
as well as left a possibility that the event-dispatcher created by
the platform plugin would never be deleted, as none of the platform
plugins actually took full ownership of the dispatcher and deleted it
in its destructor.

The integration function has now been renamed back to its old name,
createEventDispatcher(), and acts as a factory function, leaving
the logic and lifetime of event dispatcher to QtCoreApplication.

The only platform left with creating the event-dispatcher in the
constructor is QNX, where other parts of the platform relies on
having an event-dispatcher before their initialization. We then
need to manually take care of the ownership transfer, so that the
event-dispatcher is still destroyed at some point.

Change-Id: I113db97d2545ebda39ebdefa865e488d2ce9368b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-30 16:32:29 +02:00
Friedemann Kleint
a2bf063dd4 Fix syncqt warning about include in qopenglpixeltransferoptions.h.
WARNING: qopenglpixeltransferoptions.h includes QSharedDataPointer
when it should include QtCore/QSharedDataPointer

Change-Id: I0a84a37d2f4e310535979ef97b81937d2b2b2313
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-09-30 14:31:33 +02:00
Andrew Knight
aa5f78cb33 OpenGL autotests: verify create()/makeCurrent()
If create() or makeCurrent() calls fail, the test should fail fast.

Change-Id: I025c541f94c8eee492cf0e1545bfbb8027eff2a7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-30 14:18:38 +02:00
Thorbjørn Martsum
f08cc1dabe QMessageBox - make detail text work on set after show
Our manual test reveals that a setting a detailed text
after it is shown does not work.

This patch fixes that minor issue.

Change-Id: I4930880def2d8361d247e943e1a848dd49ca3882
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-09-30 13:47:36 +02:00
Tor Arne Vestbø
1256ed05b2 xcb: Don't connect() to event-dispatcher until we are sure we have one
QCoreApplication sets up the event dispatcher in the constructor, through
createEventDispatcher(), which is overridden in QGuiApplication to take
the platform-integration into account. The problem is that the platform
integration is created before the event dispatcher, so when we create the
QXcbConnection we are not guaranteed to have an event dispatcher yet.

This is not an issue when using xcb_poll_for_queued_event() in a thread,
but for the fallback case we connect to the event-dispatcher's awake()
and aboutToBlock() signals. To ensure that we do this only when we have
an event dispatcher we post a queued method invocation, that will be
processed as one of the first events once there is an event-dispatcher.

Change-Id: I623011af447b585884b84c7559737f134aab83e8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-09-30 13:45:16 +02:00
Friedemann Kleint
99b3e68f20 tst_qsavefile: Check temporary dir and output open errors.
Change-Id: Id28306ad414050a37b7779525f36edc3e15281b5
Reviewed-by: David Faure <david.faure@kdab.com>
2013-09-30 13:37:58 +02:00
Laszlo Agocs
e5ae6d896b evdevtouch: Do not print device information by default
Do it only when requested by having QT_QPA_EVDEV_DEBUG set.

Change-Id: I0e28808ae972bf681db3c0878ee53732611d11af
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-30 11:37:52 +02:00
Sean Harmer
14d2c01262 Fix check in texture cleanup code
Change-Id: Iaf91cf27d64aedb71a8af7ba318ff1231ff11b0d
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-09-30 11:37:52 +02:00
Mitch Curtis
00a8f0b643 Fix grammar in QScopedPointer.
have => has

Change-Id: Ib77110b8ffd2f970e15c2159480e56be9ef964ca
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-30 11:37:52 +02:00
Thiago Macieira
b32e0da8eb Fix bootstrapped build of QCoreApplication
696060134d introduced the use of
QBasicMutex and QMutexLocker (qmutex.h) but that wasn't #included. I
don't know in what way my build is different, though.

Change-Id: Ie3df3c746fdf1c4735f298c3578cd93a9a14327e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-09-30 11:37:52 +02:00
Andrew Knight
248f29075e qfeatures: Allow QFileSystemModel without QFileSystemWatcher
As of 373e44d, QFileSystemModel can be built without QFileSystemWatcher
support, making this define incorrect.

Change-Id: I1c18dc4f323f94b43f4e49646911fd06b0f01f73
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-30 08:56:46 +02:00
Mandeep Sandhu
f30641a7f8 Fix error signal supression for failed DNS lookups
Sometimes the signal QNetworkReply::error(QNetworkReply::NetworkError)
is not emitted for certain requests.

This happens under the following conditions:

* The hostname provided in the request is incorrect, i.e it will
  result in a DNS lookup failure.
* There is a previous request, for the _same_ host, already pending.

The first request that comes for the (incorrect hostname) url, gets
enqueued via QHttpNetworkConnectionPrivate::queueRequest(). Here,
after starting a DNS lookup, we mark the network state of this
connection as - "InProgress".

Now, if a second reuest comes for the same host, we use the existing
HTTP connection object as it's present in the cache. However, when
enqueing the request (in queueRequest()), we see that the network is
NOT in "Unknown" state and return immediately without adding this new
request to the list of pending lookups (via QHostInfo::lookupHost()).

To fix this issue, we should queue incoming lookup requests, even if
the current (HTTP) connection is in the "InProgress" state, so that we
can inform the requestor of a failed lookup. Since
QHostInfo::lookupHost() handles lookups for duplicate hostnames
properly, things should be fine even if multiple requests for the same
host have been enqueued.

Task-number: QTBUG-32911
Change-Id: I6a9c8430121e9a5a2d45983b6bda70c324437992
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2013-09-29 16:44:04 +02:00
Jędrzej Nowacki
0f3315a4dd Remove redundant code.
QPair is documented to initialize members

Change-Id: I1dccfd265521ca3ca1a648b161c0a163c72e2f2e
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-09-29 14:14:42 +02:00
John Layt
475cbed244 QDateTime - Fix round-trip of second occurrence times
At the Daylight Tme to Standard Time transition, the local time repeats
itself, i.e. 2am occurs twice. Qt's behavior when setting this using
the local time is ambiguous, as it depends on the system implementation
of mktime, which behaves differently on different platforms.  Currently
this behavior remains undefined.  When setting using an msecs or time_t
value however we can determine the correct instance to use and cache it
to ensure that any conversion back from local time to msecs is performed
consistantly on all platforms.

Note that caching this value will result in any calculations being wrong
should the system time zone change, or its rules change.  This will be
fixed in Qt 5.3 when the system time zone change signal is implemented
and QDateTime switches to using QTimeZone instead of mktime to provide
consistnt behavior across platforms.

The QTimeZone spec does not require this fix as it already caches the
correct offset in setMSecsFromEpoch().

Change-Id: I799588db474e744a6d81e80f6a0442920569ebd3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-27 21:47:55 +02:00
Geir Vattekar
3705c1263d Doc: Add docs for rvalue references and move constructors
These members were introduced in 4.8, but left undocumented. Because we
consider undocumented API to be internal, the members are \since 5.2.

Change-Id: I52e2840a8cfaa7f59f410b3e2a06c0942ea06539
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-09-27 21:47:55 +02:00
Tor Arne Vestbø
a0792f0e51 iOS: Add explicit dependency on the Foundation framework for QtCore
First of all it needed on both OSX and iOS, and secondly it's required
for our Qt APIs, now that we provide conversion functions to Foundation
types such as NSURL and NSString, so it should be part of LIBS, not
LIBS_PRIVATE.

Change-Id: Ida4977d6aa0e76b3d1b8b565672c00a8526e3381
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-27 20:10:56 +02:00
Jędrzej Nowacki
bb26e087bd Reduce QtNetwork lib size by 16111 bytes.
Warning message was repeated multiple times inside the library.

Change-Id: Idcd417dda22de189893db597acfc36c2aa99d078
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-09-27 18:31:23 +02:00
Jędrzej Nowacki
4aca7847be Fix open ssl forwarding macros.
This patch fixes them in many ways:
- use Q_UNLIKELY to mark an error case
- reduce QtNetwork library size by 40315 bytes
- fix DEFINEFUNC9 which had wrong logic, happily it was not used
anywhere

Change-Id: Ic46a569f85aa22a00ecd88158e60c52f4665ec4c
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-09-27 18:31:23 +02:00
Paul Olav Tvete
ec716cc5bf Android: Handle new QtTraceMsg in message handler
Change-Id: I3eb6fa42044ff4bdd0219925abf9d18cad60de7c
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-27 18:31:23 +02:00
Thorbjørn Martsum
a94e932945 QVarLengthArray - doc fix.
QVarLengthArray actually does support iterators.
It was added in Qt 4.8.

Change-Id: I9f714a09eab1d2e5dc023bd701ab7c743b078ec0
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-09-27 16:40:14 +02:00
hjk
9ff81bdc1a Use a pimpl in QLoggingCategory
With the usual pros/cons. Cleans up the publicly visible
interface and gives some headroom for further extensions.

Change-Id: I7237b1fd2a22c66574d1b7e532d99137bb56ce1d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-09-27 16:18:29 +02:00
Morten Johan Sørvig
29585ec3d3 Fix regression in trackpad scroll event handling.
bab29dd76 changed scroll event handling to update
the keyboard modifier state during scroll event streams
and brought back the bug where Qt Creator would suddenly
change the font size if you pressed the command key
while scrolling.

Use momemtumPhase to detect scroll event streams.
momemtumPahse will be NSEventPhaseNone as long as there
are fingers on the trackpad. After liftoff it will
have a different value, and at this point we freeze
the keyboard modifier state until the scroll event
stream has ended.

This approach does not interfere with normal mouse
scroll wheels since momentumPhase is PahseNone for all
such scroll events.

Change-Id: I668ade8e794a97491487c9465366a316a7d6a9c8
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-27 16:08:31 +02:00
Morten Johan Sørvig
6afb057962 Clear m_activePopupWindow on popup close.
QCocoaWindow keeps track of popup windows in order
to close them when appropriate, for example on mouse
clicks outside the popup. In this case the mouse click
will be used to close the popup, and will not be
send to the QCocoaWindow.

Clear m_activePopupWindow when the popup is closed
to fix a bug where the first mouse click after
closing a popup would have no effect.

Change-Id: I7a3e850e4fbf4686540d5d89dac6d7b613ed10a4
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-27 16:03:36 +02:00
Friedemann Kleint
4b755ffa6d QWindowsWindow: Output warnings with classname/objectname.
Change-Id: I55a165669dbcadf2bd06b2315b1db43b092a1758
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-09-27 12:44:18 +02:00
Tor Arne Vestbø
d5c729604a iOS: Always use application bundle when building Qt applications
Change-Id: I8fd0f7b43bdcbff0bff2de890fe421eb51233192
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-27 12:43:17 +02:00
Michael Krasnyk
bdfbc9e493 qdbusxml2cpp: Fix annotation value in an introspection string generator
Unescaped annotation value causes for harmless values in an XML file, for instance,
'value=\"QList&lt;uint&gt;\"' a DBus exception, like
dbus.exceptions.IntrospectionParserException: Error parsing introspect data

Task-number: QTBUG-26668

Change-Id: Ie1eb519aec5228da0591d62c3aa5b6dec5790eb9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-09-27 10:29:18 +02:00
Oliver Wolff
f911e87345 Win: Fixed namespaced build with QT_NO_FILESYSTEMWATCHER
Change-Id: I70049b90d2071c7a23a8a2804842d70d0f583f19
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-27 10:15:35 +02:00
Topi Reinio
cf5470e170 qdoc: Correct location info for typedefs with associated enums
For typedef nodes that have an associated enumeration, qdoc
generates incorrect location info (written to index files)
by simply appending '-typedef' to the node name.  The correct
location to link to is the associated enumeration, if one
exists.

Task-number: QTBUG-33684
Change-Id: I749171ccae9ccc10f084a40fda14e72d5f4d44cf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-09-27 09:43:30 +02:00
Friedemann Kleint
61c49611fc Windows: Use PostMessage for clipboard notifications for debugged apps.
Task-number: QTBUG-33492

Change-Id: I68af5f8ad767c55c95f758259cbb5d8a8080e70e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-27 09:32:28 +02:00
hjk
00da2e615e rcc: Remove compile dependency on private headers.
Not needed anymore now that it's using the new commandline parser.

Change-Id: I1a44c8658d128e4fbb9a6fc5000025f55e5293c2
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-26 22:25:10 +02:00
Gabriel de Dietrich
06e7d61b68 Cocoa: Allow widgets to receive events event when no app is running
This is necessary for QMacNativeWidget, where there exists a QApplication, but
is never executed. This directly translates in calls to the event dispatcher's
processEvents() function, whose calls we keep track. If no calls have been made,
we always allow timer and posted events to be processed.

Change-Id: Ia0062ee8c59a2572082f520a2eb85ed44a9856a7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 22:25:10 +02:00
Gabriel de Dietrich
db9abc72ef QMacNativeWidget: Have example use a delegate
This would be the case in most if not all the real life use cases.

Change-Id: Ib7ebc6dbe471ce50f4bd1df9becba8e9806008e7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 22:25:10 +02:00
Gabriel de Dietrich
79561dd899 QMacNativeWidget: Background should be transparent
Cocoa will draw it for us.

Change-Id: I73c124749658ae76c97afe95b81b78c7ff15c378
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 22:25:10 +02:00
Gabriel de Dietrich
79fc0ff67a QCocoaBackingStore: Initialize non-opaque images with transparent color
In particular, this is needed when a QWidget has WA_TranslucentBackground set
and nobody is painting anything behind it (except maybe some native view).

Change-Id: Ib1f0714f85fa7eeced527617ecd09bb2ed6ddfc9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 22:25:10 +02:00
Topi Reinio
c533e80e31 Doc: remove duplicate \externalpage definitions
Delete all duplicate \externalpage definitions from
corelib, printsupport and testlib sources.

Change-Id: I7dc5358861f4dad3e8ce080619b61ca3da64ec85
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-26 22:25:10 +02:00
Shawn Rutledge
f37990712b [QNSView viewWillMoveToWindow:] remove observer from previous window
Even if there is not a new window, the notifications from the old one
are not needed.

Change-Id: I9c1858d25e49379ca4737e23beec06623e91b69c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-09-26 22:25:10 +02:00
Liang Qi
5b70efb125 Mac: QWizard default background pixmap works again
Task-number: QTBUG-26722
Change-Id: I579111b5d34f8e3cdc6bb016d9c0e42ec3ffb8c9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Stephen Chu <stephen@ju-ju.com>
2013-09-26 20:42:33 +02:00
Vitalii Shastun
5889b239b1 Fix QT_NO_PRINTER build on Mac
On Mac the QT_NO_PRINTER build was not implemented.

Task-number: QTBUG-33565
Change-Id: I118472f9400aa0a0d0e192ae39a11ea38a66f340
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-26 20:42:33 +02:00
John Layt
77dc33dcdb QLocale - Fix Mac date format code translation
Mac uses the CLDR format codes which need to be translated into their
Qt equivalent.  The existing code mistranslates the year code, is
outdated for a number of new codes introduced in recent versions of
CLDR, and by default accepted any codes it didn't recognize.

This change updates support to the latest version of CLDR, fixes the
treatment of years, and defaults to ignoring any new format codes
added in the future.

Note that this change cannot have auto tests written as the system
locale formats change between versions of OSX.  Testing must be
done manually by changing system locale and formats.

Task-number: QTBUG-25057

Change-Id: I69dda25b4a0b38d3971995644546306876922d57
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-09-26 20:42:33 +02:00
Laszlo Agocs
279db88c39 Correct the detection of Windows-generated mouse events
Check only bit 8 to decide if the mouse event is generated from
a touch or pen event.

Task-number: QTBUG-33460

Change-Id: I83b23267b5de6df5e0e6b7113ecf377dd7e86c84
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-09-26 18:45:16 +02:00
Laszlo Agocs
9bf820ce47 Fix device-specific eglfs hooks to provide createNativeWindow correctly
Change-Id: I21aa17de7a79278d41b30a7590603c3382607673
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-26 18:45:16 +02:00
Laszlo Agocs
091ca0ede2 evdevtouch: Fix ABS limit queries
Add the missing parentheses around the conditional
expression. EVIOCGABS and similar macros do not have guarding
parentheses in older kernel headers.

Change-Id: I5f464351e9407d90643d4e73d4afdbb2ad88b02b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-26 18:45:16 +02:00
Laszlo Agocs
4ec31ce56a evdevtouch: Avoid duplicating points in released state
Points in released state should only be removed from m_contacts after
the disappeared-since-last-sync is done. Otherwise the same point can
appear twice (both times in released state) in the same event.

Change-Id: Ia751054c3fe893006a090bdce96a64738d8388ac
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-26 18:45:16 +02:00
Marko Pellikka
e120ad442d QString::reserve fix to avoid truncation
In case of implicit memory sharing, QString::reserve caused data
truncation if given size was smaller than size of data.

Task-number: QTBUG-29664
Change-Id: If2da5ad051385635ebb829c18b5ebaa349f08e8a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-09-26 18:45:16 +02:00
Gunnar Sletta
2864ba28e1 Remove code that doesn't do anything.
Change-Id: Id2528167f21e1ab81b998ceb808a9fc4a24b239a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-09-26 18:45:16 +02:00
Tor Arne Vestbø
a3530859e9 Expose QTest::currentAppName() and remove hard-coded argv[0] in tests
Except where we're actually testing QCoreApplication::applicationName()
and friends.

Change-Id: I25514884c11f43a4f82b1f818f822dc3d79f69a3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-09-26 18:45:16 +02:00