summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* BlackBerry: Improve platform specific documentationBernd Weimer2014-03-182-2/+20
| | | | | | | | | | Updated BlackBerry specific documentation around QSettings to make the differences more obvious for developers. Back-ported from qtbase: 563342d7ef7e490239cba6d335849ebb91983b9a Change-Id: I603053cecff97f3222257cbba8d72d2ec2666d6f Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* do not use fileno calls in forked childJoerg Bornemann2014-03-131-4/+4
| | | | | | | | | | | | | | | | | | | | | This fixes an issue that causes QProcess::start to silently fail on OS X 10.9. Apparently, fileno(stdout) locks the handle on OS X 10.9. It may happen that the parent process fflush()s stdout while the child has just been forked. The stdout lock of the parent is never released in the child and fileno(stdout) therefore locks forever. According to the fork documentation on opengroup.org one may only call async-signal-safe functions between fork and exec in the child. The fileno() function does not appear in the list of async-signal-safe functions. Also, fileno(stdout) and friends can be easily replaced by the standard constants STDOUT_FILENO etc. Done-with: Fawzi Mohamed <fawzi.mohamed@digia.com> Task-number: QTBUG-37306 Change-Id: I2b1f5f47cc48a1ad020fb0493a955d2bc27aeb47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from qtbase/b2216bbe06b8be2bef6d8bc2ffff1337f6d23358)
* Doc: Update, and reduce duplication of, QThread-related infoSze Howe Koh2014-03-131-14/+15
| | | | | | | | | | | | | | | | | | | | | | Added/Changed: - Move content from the Thread Basics overview to the QThread class ref - Rephrase bits for clarity - Use more links Removed: - (threads-basics.qdoc) Warning against moveToThread(this): This usage came about when people tried to add slots to a QThread subclass. This patch adds a warning against the root cause. - (threads-basics.qdoc) The strategy for managing member variables: Sounds error-prone. Pushing results through signals is safer. - (qthread.cpp) The note about GUI classes: Irrelevant to QThread, and it's already mentioned elsewhere. This is a cherry-pick from a9d5627e6a7b82 in qtbase.git. Change-Id: I491f64f998050daf0251abb2126bc9f7a198c17d Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Discuss the concept of thread affinity in more detailSze Howe Koh2014-03-131-7/+35
| | | | | | | | | | | | | | | | | - Create a section dedicated to this concept, which is fundamental to signal/event handling - Move relevant content from the very broad "Thread Basics" page to the QObject class ref - Flesh out existing content, including distinguishing signals from events - Address the common misconception that "member" = "child"; this has been encountered several times in the Qt Project forums This is a cherry-pick from 3b45dfe6e6ff6c0626b in qtbase.git Change-Id: If3b65f3da4e1ca414c7175c4e22bcdef38f45442 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Qt 3 Support: Prevent double deletion of QObjectPrivate::threadData in ↵Friedemann Kleint2014-02-251-0/+1
| | | | | | | | | QSettings. Task-number: QTBUG-36908 Change-Id: I8f9f86f20bd8bb479c2637f6c276e4e2593ecef9 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Fix the name of the arguments of qAtan2 to match std::atan2Thiago Macieira2014-02-051-3/+3
| | | | | | | | | | | | There is no change in functionality, just swapping of the names x and y. The std::atan2 function uses (y, x) in that order, so we should too. Task-number: QTBUG-27090 Change-Id: I7d4597a6c6909f574c517033f5d49fe17b7a7ead Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> (cherry picked from qtbase/9aa67cf0c48ff8e9e73fc19c4dcd950961b5ad54) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qthread_win.cpp: Fix warnings when waiting for adopted threads.Friedemann Kleint2014-01-091-1/+5
| | | | | | | | | Task-number: QTBUG-35591 Change-Id: I63169bd8a9758a7dad33d4231d3d6c9d71c7e252 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from qtbase/d1f8a5641615eb83bb36b4ada5913531d0da24f1) Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Don't use Standard Library routines in qthread_p.hThiago Macieira2013-12-061-2/+10
| | | | | | | | | | | Just write the for loops by hand so we don't need to use the Standard Library. That's necessary to support a -no-stl build. This patch is not necessary in Qt 5 since Qt 5 does not have -no-stl. Task-number: QTBUG-35424 Change-Id: Id449d807eaf7350f1a668ef16d356a9e236c6058 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QBBSystemLocale: Do not set fixed buffer size when reading pps objectsEl Mehdi Fekari2013-12-051-4/+20
| | | | | | | | | | Set dynamically the buffer size when reading pps objects since a pps file size is not always fix. Cherry-picked: qtbase/edf29a9aa93660ac8e4927db7fef2b5d925e9b59 Change-Id: Id55df6a474b6b79d96e3459e807f0bbfeacbf0cb Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QNX: Make use of _readdir64_rBernd Weimer2013-11-281-2/+2
| | | | | | | | | | | | Latest QNX versions support _readdir64_r. It will be used by QFileSystemIterator now, when available to support large file systems. Backport from qtbase/5d8c05baf478d8eb8cb7ce827caa2c1103f5fa3f Change-Id: I264cc39a0cae6e84ed0db2e10df5ea22c8ae3df4 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Fix virtual key mapping on MS WindowsJuan Luis Boya García2013-11-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | In order to map MS Windows virtual keys to Qt keys without messing with dead keys now I use the built-in keyMap structure of QWindowsKeyMapper and assert every cell in the keymap is properly updated. In order to guarantee this even when the user changes the keyboard layout, WndProc now manages the WM_INPUTLANGCHANGE message, which is handled by QWindowsKeyMapper, resetting the layout structure. I don't fully understand yet some things about QWindowsKeyMapper, i.e. how QWindowsKeyMapper::updatePossibleKeyCodes workarounds the dead key issue with ToAscii; but it seems to work fine in all the tests I've done. Any further testing is highly appreciated, though. [ChangeLog][[QtGui][Platform Specific Changes][Windows] Fixed virtual key mapping on Windows. Task-number: QTBUG-33409 Task-number: QTBUG-8764 Task-number: QTBUG-10032 Change-Id: I4f7709a90906b03f4504deea1ff5c361e9f94b3f (cherry picked from commit f0d014a16b5c9b55245834459c46ea34d15d14be) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QThread: Fix link to snippet in documentationJonathan Liu2013-11-221-1/+1
| | | | | Change-Id: Ie27b3ae36dcf98cef4b612387aff448bc0421d29 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QLocale: Fix infinite loop in error caseEl Mehdi Fekari2013-11-201-5/+12
| | | | | | | | | | | | | | | QBBSystemLocaleData emits qwarnings when it fails to open or read a pps object. If the user code installs a message handler that will invoke QLocale API again (i.e QDate, QDateTime, ...) then this will cause an infinite loop, where the QBBSystemLocaleData ctor() is calling itself. This patch logs the QBBSystemLocale's warnings to stderr and skips the Qt message handler. Cherry-picked: qtbase/1e446fc99167a992b1a8342168b6254f43b097fe Change-Id: Iff99973532e0cba752854e325d0cd987765547d9 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Threads: Fix mingw-gcc warning about 'cast to pointer from integer of ↵Kai Koehne2013-11-201-4/+4
| | | | | | | | | | | | different size' Use reinterpret_cast to convert from DWORD to pointer. Change-Id: I17a12940850aeb0bc27080725a18eb93fee72ff7 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> (cherry picked from qtbase/edfdaba696d94206794203f9621d7e3aa8e5ab26) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Kernel: Fix gcc warning in qsharedmemory_win.cppKai Koehne2013-11-181-1/+1
| | | | | | | | | | Fix gcc 4.7 'arning: converting 'false' to pointer type 'HANDLE {aka void*}' [-Wconversion-null]' Change-Id: I28d890d5fd4975517a9329d68c9ef73f6fadf36c Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> (cherry picked from qtbase/baf8a2fbf710314096832b0ee5735ffdc8b24210)
* qsimd: Fix compilation with MinGW 64.Friedemann Kleint2013-11-181-1/+1
| | | | | | Task-number: QTBUG-34856 Change-Id: Ie1dbeb5787e1a60aeaca585160319bbe0943e2cb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix MinGW-warnings about narrowing/invalid conversions.Friedemann Kleint2013-11-181-1/+1
| | | | | Change-Id: I9b49dd6d12a5e59c6f2674ab3c82a8a7ec583775 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QObject: use per-thread storage for qFlagLocation()Marc Mutz2013-11-162-14/+28
| | | | | | | | | | | | | | | | | | | | | qFlagLocation() uses a global char* array to transport source location information from the connect() side to the metaobject side. The size of the array is 2 (two), which just about suffices for a single connect() statement. Obviously, if more than one thread makes a (_any_) connection at the same time, the data is useless and, worse, there's a data race. The non-reentrancy of qFlagLocations() cannot and need not be fixed, but use a per-thread flagged_locations array in QThreadData so threads don't disturb each other. Task-number: QTBUG-3680 Change-Id: If1797c60751f551694def69afee6fbe295bbe2d2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> (cherry picked from qtbase/c012ee2940bc087720b4aa0d257540921cf9a139) Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QThreadPool: fix race at time of thread expiry.David Faure2013-11-152-18/+13
| | | | | | | | | | | | | | | | | | | | | | The current synchronization mechanism was racy: decrementing waitingThreads and then hoping that the wakeOne will wake a thread before its expiry timeout happens. In other words, on timeout, a just-assigned task would never run. And then no other task would run, if maxThreadCount is reached. Fixed by using a queue of waiting threads (rather than just a count), and by moving the wait condition into the thread itself, so we know precisely which one we're waking up, and we can remove it from the set of waiting threads before waking it up, and therefore it can determine on wakeup whether it has work to do (caller removed it from the queue) or it expired (it's still in the queue). This is reliable, whereas the return value from QWaitCondition::wait isn't reliable, when the main thread has already decided that this thread has work to do. Task-number: QTBUG-3786 Backport from qtbase/a9b6a78e54670a70b96c122b10ad7bd64d166514 Change-Id: Ic766ff67dea7a8bb8f1bc893943060ee5428d782 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QThreadPool: fix counting of waiting threadsDavid Faure2013-11-151-2/+8
| | | | | | | | | | | | | | | | | | | | QTBUG-21051 has a testcase where activeThreadCount() could actually end up at -1 (converted to an autotest in this commit). The reason was: start() calls tryStart() which returns false due to too many active threads (reserveThread() causes this), so it calls enqueueTask() - which actually wakes up the waiting thread, but it didn't decrement the number of waiting threads. Note that tryStart() is "if I can grab a waiting thread, enqueue task and wake it" while start(), in case tryStart() fails, wants to "enqueue, and then if I can grab a waiting thread, wake it". This is why enqueue shouldn't wake; waking must happen only if we can grab a thread (d->waitingThreads > 0). Task-number: QTBUG-21051 Backport from qtbase/dacf9961da86751a59da0e84bc943fe0d1c8d95b Change-Id: I1e437da27b733a72b48ff1b6f2b78f81a7ed129b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QThreadPool: fix data races in activeThreadCount()David Faure2013-11-151-5/+3
| | | | | | | | | | | | | | | | | | | | Rather than trying to make it lock-free (which requires double-bookkeeping of 4 atomic ints!), just lock the mutex before calling it. tst_bench_qthreadpool shows no difference whatsoever between the two solutions, I get 0.005 msecs per iteration in startRunnables(). Of course looping over calls to activeThreadCount() is a bit slower, from 0.0002 msecs per iteration to 0.00027 msecs, i.e. 35% more. But polling activeThreadCount() from the app is a really wrong thing to do anyway, this benchmark was just for my own curiosity about the price of a mutex in a function that sums up 4 ints. What matters is start() performance, which is unchanged (0.00007 msecs is just noise compared to a 0.005 total, that's 1.4%). Backport from qtbase/85b24bb2dea97c3a9b013bacd5a422b26fe5d14b Change-Id: Id32791069bc1e2dd61cef708d5287c9f9b7e5582 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QThreadPool: fix typosDavid Faure2013-11-151-12/+14
| | | | | | | | Task-number: QTBUG-31919 Backport from qtbase/37dc44d499884bd0d7ab9d2f1547db468c9fe53b Change-Id: I9496b059ed201da6b7a5ec02c4acb8f231e40c30 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* BlackBerry: Prevent superfluous removal of socket notifiersBernd Weimer2013-11-061-12/+11
| | | | | | | | | | | | | | | File descriptors have always been removed from bps before adding them, which lead to an annoying warning. "QEventDispatcherUNIX::registerSocketNotifier()" needs to be called after "ioEvents()" to prevent this. Back-port of qtbase/e9c51a1fdc9092e5589fd6f823ad0e704e293c88 Task-number: QTBUG-34536 Change-Id: I767a15cb2883bc820da5c858613ffb26abc002e4 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Petr Nejedlý <pnejedly@blackberry.com>
* Backport of Qt5 applicationName handlingSamuel Gaist2013-11-022-7/+18
| | | | | | | | | | | | | Currently applicationName returns an empty value unless the user explicitly sets it. Qt 5 is smarter and get the name either based on the application arguments or a platform specific way (e.g. OS X using the menu bar name) if the user didn't set it. Based on f04b46f34e9446417cd5681f511332344679ef30 and 696060134d10d44175970ffd38618544ecdd9387 Change-Id: Ifc17cf4a74fed8cfabb46b3540dfbd64a5452640 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* BlackBerry: improve BPS event lifetime managementJonathan Hoffmann2013-10-312-2/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QEventDispatcherBlackberry::select(), if an event handler called through filterEvent() starts a nested event loop by creating a new QEventLoop, we will recursively enter the select() method again. However, each time bps_get_event() is called, it destroys the last event it handed out before returning the next event. We don't want it to destroy the event that triggered the nested event loop, since there may still be more handlers that need to get that event, once the nested event loop is done and control returns to the outer event loop. So we move an event to a holding channel, which takes ownership of the event. Putting the event on our own channel allows us to manage when it is destroyed, keeping it alive until we know we are done with it. Each recursive call of this function needs to have it's own holding channel, since a channel is a queue, not a stack. However, a recursive call into the select() method happens very rarely compared to the many times this method is called. We don't want to create a holding channel for each time this method is called, only when it is called recursively. Thus we have the instance variable d->holding_channel to use in the common case. We keep track of recursive calls with d->loop_level. If we are in a recursive call, then we create a new holding channel for this run. Backport from qtbase/5cc76dae7e985a7a39d839524dc8ad6475e597f3 Change-Id: Ib3584676d2db5a9a3754a1535d5fb6c9e14f5dbc Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QLocale: Update Portuguese and Greek locales dataEl Mehdi Fekari2013-10-291-1061/+1059
| | | | | | | | | | | * Update timeFormat for Portuguese/Brazil locale. * Update abbreviated day names for Greek locale. Note: Those locales are already fixed in the recent CLDR v23.1 data used in Qt 5.2. Change-Id: I351e3a9ae65dcff4ab6b4787242141c3c9d86e24 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QLocale - Fix Mac date format code translationJohn Layt2013-10-281-29/+76
| | | | | | | | | | | | | | | | | | 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. Back-ported from qtbase/77dc33dcdbe0eec8ddc9059c4e0ff9dde264c5fa Task-number: QTBUG-25057 Change-Id: Ide040eca467cfada46fb0e2010db179a76b3096a Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Introduce Windows version 8.1 and detect by checking the version.Friedemann Kleint2013-10-252-3/+39
| | | | | | | | | Change-Id: I04012218c34f7a95a87fcf2dc7fc095f0e743e67 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> (cherry picked from qtbase/dff6d73d6c37c40790d90bfdf3cb2f6e75c5bfa4)
* Fix sigchld-HandlerH. Rittich2013-10-181-9/+32
| | | | | | | | | | | | | | | | Changed the sigchld-Handler such that the SA_SIGINFO flag is handeled correctly. Furthermore the signal mask is preserved such that the original signal handler is not interrupted when not allowed. Backport of the patch that was added to qtbase (Qt5) in 97279d05822a70da1fb3dab083d823a5f5a008fe also contains the fix from f83fa3c95e9ac6badc393c198c8bc08bc45bea96 . Task-number: QTBUG-32979 Change-Id: Iec7663e7289ea5d95155f52cf8788ebf646cfabd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add missing interpolator for unsigned int.Jan Arve Saether2013-09-111-0/+3
| | | | | | | | | | | | | Note that there are also some missing interpolators for char, short, long long etc, but those are most likely less common than unsigned int. Task-number: QTBUG-33268 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> (cherry picked from qtbase/09da1f7d1f04f51eca4dc11add2854355fad6cd4) Change-Id: Ieae8c5f66dab0f997522ea7e7990485ecde33e27 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Fix compile when QT_NO_WARNING_OUTPUT defined without QT_NO_DEBUG_STREAMJonathan Liu2013-09-101-0/+2
| | | | | | | | | | | | | | | qWarning is forward declared as returning QDebug when QT_NO_DEBUG_STREAM is not defined. This conflicts with the declaration of qWarning returning QNoDebug when QT_NO_WARNING_OUTPUT is defined. Avoid forward declaration of qWarning when QT_NO_WARNING_OUTPUT is not defined to fix compilation. This does not apply to Qt 5. Task-number: QTBUG-33301 Change-Id: Ia4750cd63ac404700aedc36f07e5516d4163e9d2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add Q_ASSERT in qAllocMore() function.Leonard Lee2013-08-301-0/+3
| | | | | | | | | | The negative range test is no longer needed in QByteArray's autotest. Task-number: QTBUG-33038 Change-Id: I4d77e78e485b3b64a31dffd99b9fe2c14420d0a2 (partial cherry picked from qtbase commit fb8be9905d5f3216edc3fbb72b8ce1c380737eac) (partial cherry picked from qtbase commit 0ed3cf2a1c487387bbc958317c791c9c53cf5a16) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix crash in QProcess::waitForStarted() on Unix.Christian Strømme2013-08-281-3/+3
| | | | | | | | | | | | Invoking waitForStarted() on a QProcess before or after an unsuccessful call to start() (e.g., with an empty command), would execute FD_SET with an invalid file descriptor and cause the process to abort. The bug can be reliably reproduced on OSX. (cherry-picked from qtbase commit c8d9b17367cfdcb034d11f8a168ca4ae3993e7c3) Task-number: QTBUG-32958 Change-Id: Id25b7781168489281645e21571361ca1a71d43e3 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Update for OS X Mavericks.Jake Petroules2013-08-212-4/+11
| | | | | | | (Qt 4 equivalent of qtbase/bd97768ae54d643270e824f74d152892dbea1b9f) Change-Id: I7ecebd2e185d61a0baeb5b47b802c2f760edeff3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Use correct mask constant in the Windows event dispatcher.Friedemann Kleint2013-08-201-1/+14
| | | | | | | | | | | | | | Mask out QS_TOUCH, QS_POINTER when running a VS2012-compiled binary on pre-Windows 8 systems. Task-number: QTBUG-32257 Task-number: QTBUG-28513 Task-number: QTBUG-29097 Task-number: QTBUG-29435 Task-number: QTBUG-18852 Change-Id: I33ce3a659a234cb04d3b5ae9d668d193d681be7f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/54f1d7e2e48b896755aa930ee7e4ecacf51bf977)
* Revert "Disable precision timers when running MSVC2012 code on pre-Windows 8."Friedemann Kleint2013-08-201-5/+1
| | | | | | | | | | | This reverts commit aea654b84713b8085ee0a291e3325b1ca53080aa. Follow-up commit will fix the issue. Task-number: QTBUG-18852 Task-number: QTBUG-27266 Change-Id: Iadbae6b94de6e47e0b9bf428f57b63ffa286e382 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* restore QProcessEnvironment shared data thread safety on unixOswald Buddenhagen2013-08-123-8/+74
| | | | | | | | | | | | | | | | | | implicit sharing together with 'mutable' is a time bomb. we need to protect the nameMap, because concurrent "reads" may try to insert into the hash, which would go boom. we need to protect the key/value of Hash objects, because while the refcounting is atomic, the d pointer assignments are not, which would also go boom. we can simply use a QMutex to protect the whole environment, because it is very cheap in the uncontended case. Task-number: QTBUG-30779 Change-Id: Iaad5720041ca06691d75eb9c6c0e1c120d4a7b46 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> (cherry picked from qtbase/85e61297f7b02297641826332dbdbc845a88c34b)
* fix namespaced buildOswald Buddenhagen2013-08-121-2/+2
| | | | | | Change-Id: I9d0a3cb08de5e91807da7f0358c83b6693ebd1ea Reviewed-by: hjk <hjk121@nokiamail.com> (cherry picked from qtbase/da55d48ad731ee2499467b3e93e11eb3b53df89d)
* Remove OS X unsupported warning.Jake Petroules2013-08-101-3/+0
| | | | | | | | | No other platform has such a warning and it really is not important. Change-Id: I70185dff6b0fad11c7a767f787679dc53d04ecc7 (backported from qtbase/cd17b500a85b34c16ff8f4212cf2ff35715040ba) Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Include <new> instead of <ciso646> for libc++ detection.Raphael Kubo da Costa2013-08-061-1/+1
| | | | | | | | | | | | | As usual, MSVC does things differently and its ciso646 header does unexpected things, like #define'ing xor and causing all sorts of breakages. Include <new> instead: it should be as inocuous as ciso646 should have been. No backport because Qt5 does not have QT_NO_STL. Task-number: QTBUG-32773 Change-Id: I01a48ec2c726367e9498aeec4efb42f49d68bbe4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove a left over cast that is now semantically incorrect.Jake Petroules2013-08-051-1/+1
| | | | | | | | | CFPropertyListRef is a typedef for void*, which is why this code was compiling OK prior to this change. Change-Id: I67f2affeeb97459f85eedc8becb5d963557d34c3 (cherry-picked from qtbase commit fb25d6c7f6690402060027422343957c7d8ee718) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make sure to also check for null CFPropertyLists.Thiago Macieira2013-08-051-0/+3
| | | | | | | | | | | | | In 1b08e0307dfebe561fbb0819a2d6b53edd8e8e93, I removed the null check by accident. It's possible for the Darwin API to return a null property list. Task-number: QTBUG-30760 Change-Id: Iaf0125767fe4b47c19810b70483a5219e94e4305 (cherry-picked from qtbase commit 96134c6f585963c9d449db17589f21e67519a2a8) Reviewed-by: Denis Dzyubenko <denis@ddenis.info> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Don't assume that all CFPropertyListRef are CFArrayRefsThiago Macieira2013-08-052-7/+16
| | | | | | | | | | | | We might need more robust code in the future. But at least for this case it looks like a CFStringRef is also a possibility. Task-number: QTBUG-29776 Change-Id: Iaf50835122fcbb7e6e9c7fbf65e31e6143b2bc54 (cherry-picked from qtbase commit 1b08e0307dfebe561fbb0819a2d6b53edd8e8e93) Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Sun CC 5.10 supports Template-Template ParametersSergio Ahumada2013-07-301-2/+4
| | | | | | | | See http://www.oracle.com/technetwork/systems/cccompare-137792.html Task-number: QTBUG-18879 Change-Id: Icb08771527a718c1ce4f0919116c3834cf979be4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add support for the Linux/m68k platformThorsten Glaser2013-07-223-0/+257
| | | | | | | | | | | | | | | Add necessary support code to recognize m68k as an architecture; use GCC builtin atomics like avr32 does. Copy avr32 header, since it was hinted that including it from m68k was not liked. This is not needed in Qt5 because it’s said to automatically use the GCC atomic builtins. Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660963 Task-number: QTBUG-28237 Change-Id: I6c51405c47549c904899a6971b6cd34b8239c642 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix warning when building objects with a Q_OBJECT macroTobias Hunger2013-07-221-1/+1
| | | | | | | | | | | Do not trigger a self-assign warning when running into code containing a Q_OBJECT macro. Currently this happens a lot e.g. when using clang to build code using Qt. Change-Id: I68995624b18406f337318599e463f36f87486e66 (cherry-picked from qtbase commit 1416f4c595d6078c08f93483695e0b64c7fbb2a7) Reviewed-by: Milian Wolff <milian.wolff@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Accept defeat when select(2)ing without a monotonic clockThiago Macieira2013-07-121-6/+2
| | | | | | | | | | | | | | | | | We prefer to use the monotonic clock because it's never affected by time jumps (such as the user changing the date, or the system adjusting for any other reasons, including automatic leap seconds). But if a system doesn't have a monotonic clock, we simply accept the regular, real time clock and hope it doesn't jump. This is better than the current code that never restarts a call. The side-effect is that a 30-second select may become a 3630-second select if someone sets the clock back one hour. Task-number: QTBUG-22301 Change-Id: Ia5a3bb453cd475f45b03637e2549165589fd2524 (cherry-picked from qtbase commit c64d602df3712c0d147b7b689d29f79c700e63bc) Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QString::normalize(): Fix assertion in some corner caseKonstantin Ritt2013-07-111-4/+3
| | | | | | | | | | | | Don't assume `from` is 0 and the string always starts with a starter code point. This has been fixed for 5.0 as part of Unicode Data & Algorithms update (qtbase:46b78113b22428e6f8540193fcf0e00591dbd724). Task-number: QTBUG-30931 Change-Id: I2030aaf831ebe619b980e55e98d5f5a366dbe3ed Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Bump Qt version to 4.8.6Thiago Macieira2013-07-091-2/+2
| | | | | Change-Id: I91189c8c33591ef866a4478c113f93162afede95 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* qfilesystemengine_mac.cpp is empty => purgeSamuel Gaist2013-07-052-49/+0
| | | | | | | | | | | All mac related qfilesystemengine operations are done in qfilesystemengine_unix. Purging it like commit bd7ca33889139782f3f0063f93ca9c1f39501a17 in qtbase Change-Id: I16ba494b699d731c3cd688cbd34b81cc67851b47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>