summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QPA: Fix semantics of GUI event dispatcher ownership in platform pluginsTor Arne Vestbø2013-09-3032-116/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fix syncqt warning about include in qopenglpixeltransferoptions.h.Friedemann Kleint2013-09-301-1/+1
| | | | | | | | WARNING: qopenglpixeltransferoptions.h includes QSharedDataPointer when it should include QtCore/QSharedDataPointer Change-Id: I0a84a37d2f4e310535979ef97b81937d2b2b2313 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* OpenGL autotests: verify create()/makeCurrent()Andrew Knight2013-09-302-16/+16
| | | | | | | If create() or makeCurrent() calls fail, the test should fail fast. Change-Id: I025c541f94c8eee492cf0e1545bfbb8027eff2a7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QMessageBox - make detail text work on set after showThorbjørn Martsum2013-09-301-1/+3
| | | | | | | | | | 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>
* xcb: Don't connect() to event-dispatcher until we are sure we have oneTor Arne Vestbø2013-09-302-14/+23
| | | | | | | | | | | | | | | | | | | 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>
* tst_qsavefile: Check temporary dir and output open errors.Friedemann Kleint2013-09-301-12/+27
| | | | | Change-Id: Id28306ad414050a37b7779525f36edc3e15281b5 Reviewed-by: David Faure <david.faure@kdab.com>
* evdevtouch: Do not print device information by defaultLaszlo Agocs2013-09-301-13/+26
| | | | | | | Do it only when requested by having QT_QPA_EVDEV_DEBUG set. Change-Id: I0e28808ae972bf681db3c0878ee53732611d11af Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix check in texture cleanup codeSean Harmer2013-09-301-1/+1
| | | | | Change-Id: Iaf91cf27d64aedb71a8af7ba318ff1231ff11b0d Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Fix grammar in QScopedPointer.Mitch Curtis2013-09-301-1/+1
| | | | | | | have => has Change-Id: Ib77110b8ffd2f970e15c2159480e56be9ef964ca Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix bootstrapped build of QCoreApplicationThiago Macieira2013-09-301-0/+1
| | | | | | | | | 696060134d10d44175970ffd38618544ecdd9387 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>
* qfeatures: Allow QFileSystemModel without QFileSystemWatcherAndrew Knight2013-09-302-6/+1
| | | | | | | | | 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>
* Fix error signal supression for failed DNS lookupsMandeep Sandhu2013-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Remove redundant code.Jędrzej Nowacki2013-09-291-2/+0
| | | | | | | | QPair is documented to initialize members Change-Id: I1dccfd265521ca3ca1a648b161c0a163c72e2f2e Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* QDateTime - Fix round-trip of second occurrence timesJohn Layt2013-09-273-39/+61
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Doc: Add docs for rvalue references and move constructorsGeir Vattekar2013-09-2734-0/+414
| | | | | | | | | 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>
* iOS: Add explicit dependency on the Foundation framework for QtCoreTor Arne Vestbø2013-09-271-1/+1
| | | | | | | | | | | 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>
* Reduce QtNetwork lib size by 16111 bytes.Jędrzej Nowacki2013-09-271-1/+6
| | | | | | | Warning message was repeated multiple times inside the library. Change-Id: Idcd417dda22de189893db597acfc36c2aa99d078 Reviewed-by: Richard J. Moore <rich@kde.org>
* Fix open ssl forwarding macros.Jędrzej Nowacki2013-09-272-16/+24
| | | | | | | | | | | 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>
* Android: Handle new QtTraceMsg in message handlerPaul Olav Tvete2013-09-271-0/+1
| | | | | Change-Id: I3eb6fa42044ff4bdd0219925abf9d18cad60de7c Reviewed-by: hjk <hjk121@nokiamail.com>
* QVarLengthArray - doc fix.Thorbjørn Martsum2013-09-271-2/+2
| | | | | | | | | 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>
* Use a pimpl in QLoggingCategoryhjk2013-09-272-9/+26
| | | | | | | | 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>
* Fix regression in trackpad scroll event handling.Morten Johan Sørvig2013-09-271-10/+11
| | | | | | | | | | | | | | | | | | | | | | 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>
* Clear m_activePopupWindow on popup close.Morten Johan Sørvig2013-09-271-7/+9
| | | | | | | | | | | | | | | | 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>
* QWindowsWindow: Output warnings with classname/objectname.Friedemann Kleint2013-09-271-8/+11
| | | | | | Change-Id: I55a165669dbcadf2bd06b2315b1db43b092a1758 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* iOS: Always use application bundle when building Qt applicationsTor Arne Vestbø2013-09-272-1/+13
| | | | | Change-Id: I8fd0f7b43bdcbff0bff2de890fe421eb51233192 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qdbusxml2cpp: Fix annotation value in an introspection string generatorMichael Krasnyk2013-09-271-1/+1
| | | | | | | | | | | 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>
* Win: Fixed namespaced build with QT_NO_FILESYSTEMWATCHEROliver Wolff2013-09-271-2/+2
| | | | | | Change-Id: I70049b90d2071c7a23a8a2804842d70d0f583f19 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qdoc: Correct location info for typedefs with associated enumsTopi Reinio2013-09-271-0/+6
| | | | | | | | | | | | | | 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>
* Windows: Use PostMessage for clipboard notifications for debugged apps.Friedemann Kleint2013-09-271-6/+5
| | | | | | | Task-number: QTBUG-33492 Change-Id: I68af5f8ad767c55c95f758259cbb5d8a8080e70e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* rcc: Remove compile dependency on private headers.hjk2013-09-262-2/+0
| | | | | | | Not needed anymore now that it's using the new commandline parser. Change-Id: I1a44c8658d128e4fbb9a6fc5000025f55e5293c2 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Cocoa: Allow widgets to receive events event when no app is runningGabriel de Dietrich2013-09-262-2/+11
| | | | | | | | | | 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>
* QMacNativeWidget: Have example use a delegateGabriel de Dietrich2013-09-261-8/+17
| | | | | | | 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>
* QMacNativeWidget: Background should be transparentGabriel de Dietrich2013-09-261-0/+1
| | | | | | | Cocoa will draw it for us. Change-Id: I73c124749658ae76c97afe95b81b78c7ff15c378 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QCocoaBackingStore: Initialize non-opaque images with transparent colorGabriel de Dietrich2013-09-261-0/+2
| | | | | | | | 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>
* Doc: remove duplicate \externalpage definitionsTopi Reinio2013-09-263-55/+0
| | | | | | | | Delete all duplicate \externalpage definitions from corelib, printsupport and testlib sources. Change-Id: I7dc5358861f4dad3e8ce080619b61ca3da64ec85 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* [QNSView viewWillMoveToWindow:] remove observer from previous windowShawn Rutledge2013-09-261-2/+2
| | | | | | | | 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>
* Mac: QWizard default background pixmap works againLiang Qi2013-09-264-45/+56
| | | | | | | | 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>
* Fix QT_NO_PRINTER build on MacVitalii Shastun2013-09-266-5/+14
| | | | | | | | On Mac the QT_NO_PRINTER build was not implemented. Task-number: QTBUG-33565 Change-Id: I118472f9400aa0a0d0e192ae39a11ea38a66f340 Reviewed-by: John Layt <jlayt@kde.org>
* QLocale - Fix Mac date format code translationJohn Layt2013-09-262-33/+77
| | | | | | | | | | | | | | | | | | | | 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>
* Correct the detection of Windows-generated mouse eventsLaszlo Agocs2013-09-261-2/+4
| | | | | | | | | | | 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>
* Fix device-specific eglfs hooks to provide createNativeWindow correctlyLaszlo Agocs2013-09-264-10/+14
| | | | | Change-Id: I21aa17de7a79278d41b30a7590603c3382607673 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* evdevtouch: Fix ABS limit queriesLaszlo Agocs2013-09-261-2/+11
| | | | | | | | | 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>
* evdevtouch: Avoid duplicating points in released stateLaszlo Agocs2013-09-261-3/+10
| | | | | | | | | 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>
* QString::reserve fix to avoid truncationMarko Pellikka2013-09-262-2/+14
| | | | | | | | | | 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>
* Remove code that doesn't do anything.Gunnar Sletta2013-09-262-31/+0
| | | | | Change-Id: Id2528167f21e1ab81b998ceb808a9fc4a24b239a Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Expose QTest::currentAppName() and remove hard-coded argv[0] in testsTor Arne Vestbø2013-09-2611-41/+59
| | | | | | | | Except where we're actually testing QCoreApplication::applicationName() and friends. Change-Id: I25514884c11f43a4f82b1f818f822dc3d79f69a3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Propagate xcodebuild exit-code from makefile wrapperTor Arne Vestbø2013-09-261-1/+1
| | | | | | | | | Without bash's pipefail option we would end up with the exit code of grep. Since we don't know which shell the user is running, we have to explicitly call bash. Change-Id: Ic3f6db0af9bb90a58001ccfbf9d6d21b6c9c9634 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make QCoreApplicationPrivate::appName() thread-safeTor Arne Vestbø2013-09-261-0/+3
| | | | | Change-Id: Iea0d208e3e4721fff8a6667e0df1203a887c29d3 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Doc: Adding "qtdoc" to the depends qdocconf variable.Jerome Pasion2013-09-261-1/+1
| | | | | | | -needed to link to Qt 5.2 docs (as seen on the navigation bar) Change-Id: Icc0bdb95231dbccd0393d4f401daafd8bcb30472 Reviewed-by: Martin Smith <martin.smith@digia.com>
* tst_QNetworkReply: Don't remove file if never createdTor Arne Vestbø2013-09-261-1/+2
| | | | | | | If we end up QSKIP'ing the test 'wronlyFileName' is never created. Change-Id: I2ccbfdb630b58d7904e73b476a65a82a45ab90d7 Reviewed-by: Peter Hartmann <phartmann@blackberry.com>