summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* Make libtiff link on OS X 10.9.Jake Petroules2013-08-051-9/+0
| | | | | | | Backport of Ie6f8639fb920e57289c7d0ad8952603abcfe7377. Change-Id: I9d0cd625734fda88a9564d4fef7b1f5e9f22c774 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Return the correct system font on OS X Mavericks.Jake Petroules2013-08-051-0/+7
| | | | | | | | Also prints a warning if other private system fonts are encountered. Task-number: QTBUG-32789 Change-Id: I04e1471d25119caddb587972561e98defb1ffda1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix double transform for items ignoring parent transformations.Andreas Aardal Hanssen2013-08-051-3/+8
| | | | | | | | | | | | | | | | | | | Previously, the topmost untransformable's scene transform, which includes the item's position and local transformation, was used to determine the item's anchoring position. This position was then passed on to be multiplied by the item's transform again. This works fine for toplevel untransformable items that don't have any transform set at all, but those who do would have their transforms applied twice - one to determine the anchoring position, and again to transform the item itself. Since only translation transformations can affect the first operation (the anchoring pos), this bug only applies to items that set ItemIgnoresTransformations and use a local transform that includes translation. Task-number: QTBUG-21618 Change-Id: I3f3c4f2357e2ca6cd0c75cb5b7e428c0803d9e73 Reviewed-by: Alexis Menard <alexis@webkit.org> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Fix QListWidget item widget scroll bugSamuel Gaist2013-08-051-3/+1
| | | | | | | | | | This fix applies the patch uploaded in the bug report. The patch was provided by Qt-Commercial support but seems to have never found it's way to the sources although the bug was fixed in Qt 5. Task-number: QTBUG-27043 Change-Id: I41c5a7b8f3698bb4396046e5e74863e090ba185a Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix build regression caused by 7b7c321d5f35b6ee70db5a72d5d37e19e125d7cf.Jake Petroules2013-08-041-1/+1
| | | | | Change-Id: I54f4e0ca2ca677a41c22183263931c9d65896168 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* QHttpMultiPart: fix data corruption in readData methodPeter Hartmann2013-08-031-1/+2
| | | | | | | | | | | | | | | | When readData() is called repeatedly, we need to keep track which part of the multipart message we are currently reading from. Hereby we also need to take the boundary size into account, and not only the size of the multipart; otherwise we would skip a not completely read part. This would then later lead to advancing the read pointer by negative indexes and data loss. Task-number: QTBUG-32534 Change-Id: Ibb6dff16adaf4ea67181d23d1d0c8459e33a0ed0 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> (cherry picked from qtbase/af96c6fed931564c95037539f07e9c8e33c69529) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change QDBusPendingCallPrivate to full reference counting for deletion.Peter Seiderer2013-08-034-43/+58
| | | | | | | | | | | | | | | | Fixes race between QDBusConnectionPrivate::processFinishedCall() releasing the mutex before emitting signals (using various members of QDBusPendingCallPrivate) and deletion of the QDBusPendingCallPrivate object through QDBusPendingCall::d's destructor (a member of type QExplicitlySharedDataPointer<QDBusPendingCallPrivate>) leeds to segmentation fault with CrashTest example on slow/single core arm cpu). Task-number: QTBUG-27809 Change-Id: I3590d74d1cfa5816ede764b50b83a7008ec780ff (cherry-picked from qtbase commit 6c21f42657b494e24112c90d8b9fff719f1f8791) Reviewed-by: Peter Seiderer <ps.report@gmx.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QDBusPendingCallPrivate::autoDelete logic.Peter Seiderer2013-08-032-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First step to fix race condition about deleting QDBusPendingCallPrivate. In a multithreaded application on a slow/single core cpu the following race (and segmentation fault) can occur: First thread A is running: A: QDBusPendingReply<> reply = pi->asyncCallWithArgumentList(method, argumentList); Then when the dbus answer arrives thread B will call: B: QDBusConnectionPrivate::processFinishedCall() B: ... B: locker.unlock() and runs until here, go on with thread A: A: reply.waitForFinished(); A: QDBusPendingCallPrivate::waitForFinished() A: { A: QMutexLocker locker(&mutex); A: if (replyMessage.type() != QDBusMessage::InvalidMessage) A: return; which returns immediately (mutex acquired, replyMessage alread set), now reply goes out of scope (destructor called) and QDBusPendingCall::d's destructor of type QExplicitlySharedDataPointer<QDBusPendingCallPrivate> deletes the reference counted object QDBusPendingCallPrivate. Now thread B continues, still in processFinishedCall() B: if (call->watcherHelper) B: call->watcherHelper->emitSignals(msg, call->sentMessage); B: B: if (msg.type() == QDBusMessage::ErrorMessage) B: emit connection->callWithCallbackFailed(QDBusError(msg), B: call->sentMessage); accessing alread deleted object QDBusPendingCallPrivate via call->... Fixed QDBusPendingCallPrivate deletion by proper reference counting will be done in the next commit. Task-number: QTBUG-27809 Change-Id: I15b3f0242471b62eaafadc763fb6a33339ff2fe1 (cherry-picked from qtbase commit 72ecf5a7ecb688a7e19cbc2f70e358a94d02edf7) Reviewed-by: Peter Seiderer <ps.report@gmx.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix unprotected access to QDBusPendingCallPrivate::pending.Peter Seiderer2013-08-031-2/+9
| | | | | | | | | | | | | | | | | | | | | In QDBusConnectionPrivate::waitForFinished() pcall->pending was used after the protection by pcall->mutex was released. A simultaneous call to QDBusConnectionPrivate::processFinishedCall() was able to reset pcall->pending to null before it was used for the q_dbus_pending_call_block(pcall->pending) call. Fixed by releasing (and setting to 0) of pcall->pending in processFinishedCall() only in case no one is waiting yet, otherwise release pcall->pending by the first thread waiting in waitForFinished(). There is still a race condition about deleting QDBusPendingCallPrivate (too early) which will be fixed in the next two commits. Task-number: QTBUG-27809 Change-Id: I040173810ad90653fe1bd1915f22d8dd70d47d8c (cherry-picked from qtbase commit 64e3bd481e5d54d555959ceecbd5c4576c571241) Reviewed-by: Peter Seiderer <ps.report@gmx.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDBusPendingCall: add a missing QWaitCondition::wakeAll() callMarc Mutz2013-08-031-0/+1
| | | | | | | | | | | | In QDBusConnectionPrivate::waitForFinished(), threads that see pcall->waitingForFinished == true go to sleep on pcall->waitForFinishedCondition, but there was no call to waitForFinishedCondition.wakeAll() anywhere in the code, so add it. Change-Id: I8d068dc0cc4f20786eb40fd7e2bb9840d8b70c7f (cherry-picked from qtbase commit 20d7763b19400c062a07f440cc601f486be4039b) Reviewed-by: Peter Seiderer <ps.report@gmx.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't crash if the relayed signal was emitted from the wrong threadThiago Macieira2013-08-031-1/+9
| | | | | | | | | | | | | | Under normal circumstances, this should never happen. Signals exported to D-Bus should only be emitted from the object's own thread. That's the only way for the receiver (the QDBusAdaptorConnector object) to know what the sender object and signal were. If they are emitted from another thread, the sender will be null. Task-number: QTBUG-31932 Change-Id: Ia5a45d648985e0645bffd4abc0881fca9da64f79 (cherry-picked from qtbase commit d94961d08f91696824d9035f666af5fe28d59ef6) Reviewed-by: Peter Seiderer <ps.report@gmx.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* [Qt][WK1] navigator.plugins shows too few entries.Michael Brüning2013-08-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Backport r153517 from webkit trunk and Qt 5 to Qt 4.8. https://bugs.webkit.org/show_bug.cgi?id=119332 Reviewed by Jocelyn Turcotte. Based on input by Choon Sik Cho. WebPlatformStrategies::getPluginInfo was using the WTF::Vector::resize method wrongly. This patch removes the call to Vector::resize as Vector::append will take care of increasing capacity if needed. * WebCoreSupport/WebPlatformStrategies.cpp: (WebPlatformStrategies::getPluginInfo): Task-Number: QTBUG-30141 Change-Id: Ief250ee98c4c5d2cb5165d6da3d7b43c54cbd7c8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Expose invokables that are not slots in the xmlAlbert Astals Cid2013-07-311-2/+3
| | | | | | | | | Without it the invocations were working but were not listed on introspection Backported from Qt5: qtbase commit c3f485c5250a503832e767e1fe5e40595126f6c5 Change-Id: Ie62f7dc3577f52b6888ddebf0392fdf51f2845a5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: adapt SSL lib file name lookup heuristicsPeter Hartmann2013-07-311-1/+4
| | | | | | | | | | | | | | | | | | I.e. do not try to load file names that are not there anyhow. The code would search for libcrypto.so.1.0.0 and libssl.so.1.0.0, while on QNX the libs are called libcrypto.so and libssl.so, and there are no symlinks with version numbers. This saves ~ 45 ms in real apps (tested with Facebook, Twitter and Foursquare), and ~ 24 ms at app startup in an isolated app without GUI (difference maybe because threads are fighting for CPU or so). Task-number: QTBUG-32548 (backport of commit 69b31f7b657a7ca611ad980c2974597de160598c) Change-Id: I33e1c9e2c490b9c7f94aca06add8dc183cce083d Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.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>
* QNX: hardcode on-demand SSL root cert loadingPeter Hartmann2013-07-301-0/+2
| | | | | | | | | | | | The c_rehash'ed symlinks are always there on QNX, so no need to check at every app start for the feature. This saves ~ 17ms at each app start. Task-number: QTBUG-32549 (backport of commit 28ff65f4dc67349ff88e4cd161b6bced7e9bf477) Change-Id: Ibcc2b5fee806d4a885657746516f4682df2bfa29 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cleanup QFileIconProviderPrivate::getWinIcon().Sergio Martins2013-07-251-23/+18
| | | | | | | | | | | | No functionality is changed, just made the code more readable and removed some duplication. Needed to backport qtbase/46685f755b01288fd53c4483cb97a22c426a57f0. Code in Qt5 is already clean, no commit necessary there. Change-Id: I29fe871eeb0b45b619434e7941cc673033366f63 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* HTTP internals: do not access reply that was deleted alreadyPeter Hartmann2013-07-251-0/+3
| | | | | | | | | | ... rather than crashing. Task-number: QTBUG-32404 (cherry picked from commit 78f9f4b4970e6f4155b7cf2e88c6ac540dec47bc) Change-Id: Ibdffcb9f57e841655998cf72d0ee8206b4987aa7 Reviewed-by: Richard J. Moore <rich@kde.org>
* Move the declaration of QFileIconProviderPrivate to it's own file.Sérgio Martins2013-07-233-33/+92
| | | | | | | | | | | | | Needed to backport qtbase/46685f755b01288fd53c4483cb97a22c426a57f0 to Qt4. We can't add new symbols in Qt4 to QFileIconProvider so we will make the private class a friend of the QFileDialog. Change-Id: Ic720d681da14698ecf8557e1223d82bda6b33e23 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> (cherry picked from qtbase/f4a0d6d2494d1dd41cd5b854a48b435120714d32)
* 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>
* Use GET method for redirect in QDeclarativeXMLHttpRequest.Friedemann Kleint2013-07-221-0/+5
| | | | | | | | | Initial-patch-by: Marek Więckowski <wiecko@fuw.edu.pl> Task-number: QTBUG-32332 Change-Id: I393308134d60e484464e0cfc6cdcdac1edc27f8d Reviewed-by: Peter Hartmann <phartmann@blackberry.com> (cherry picked from qtquick1/e0f7b22341339b77aafa9150b0d79e320e9e4180)
* 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>
* evdev tablet support on LinuxShawn Rutledge2013-07-182-1/+4
| | | | | | | | | | Nowadays on at least some distros XInput presents the Wacom and other tablets with the TABLET atom instead of separate STYLUS and ERASER. Task-number: QTBUG-25329 Change-Id: I24d86be63ac2ffdeeb042d91644610feb6c9f4e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* QNetworkProxyFactory: check all the proxy environment variablesAdrien Bustany2013-07-161-2/+17
| | | | | | | | | | | QNetworkProxyFactory used to check only for the http_proxy environment variable in systemProxyForQuery. This patch makes it look as well in https_proxy, ftp_proxy and all_proxy. http_proxy is still used as a fallback value. Change-Id: I7934af70d191cd17dbce3b3789260ae1a8332986 (cherry-picked from qtbase commit a7d1b6419d7503474ed5e02f7fb984e4ad5f9219) Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Add missing argument to QBasicUnixFontDatabase::fallbacksForFamily()Takumi Asaki2013-07-162-2/+3
| | | | | Change-Id: I403745b8c734092078011b56fa0373981d9ad119 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Validate qmlEngine() in QDeclarativeItem::mapToItem() function.Leonard Lee2013-07-151-1/+1
| | | | | | | | | | We protect against the fact that engineForScript() can be called with 0 or something else. Task-number: QTBUG-29572 Change-Id: I92f62b328d1e84a378449e0857569886f327077c Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Consider virtual screen when determining dock widget visibility.Friedemann Kleint2013-07-131-2/+5
| | | | | | | | Task-number: QTBUG-32260 Change-Id: I8b28e3869a6e3b1ed12a311dfa0100979098fc4b Reviewed-by: Andy Shaw <andy.shaw@digia.com> (cherry picked from qtbase/6c37fb70d695df001999c78a27ca50d6d2ac6517)
* 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>
* qpa: Fix memory leak of QFontEngineBox objectFabienne Semeria2013-07-121-1/+5
| | | | | | | | | | | | | | | | Delete QFontEngineBox object in QFontDatabase::load() if the object can not be used. cherry-picked from qt5/qtbase effbc9edc57fd8a2e40729a76004fe4f5fafcf49 original patch from jianliang79 <jianliang79@gmail.com> Modified to match changes in QAtomicInt API. Change-Id: I1cf7398f582c918426a73973347efe4425100eec Reviewed-by: jian liang <jianliang79@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Julien Brianceau <jbrianceau@nds.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@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>
* Fixes: ASSERT in qpaintengine_x11 when using native graphicssystemaavit2013-07-101-1/+1
| | | | | | | | | | | | QFontEngineFT::loadGlyph() was called with wrong number/type of arguments, but as the compiler silently accepted an enum value as a QFixed, and the rest had default values, this was not discovered. Fix not needed in Qt5, since this functionality is not there. Task-number: QTBUG-32166 Change-Id: Ifc5be593530fee5ff0e329a9f56f6ba48eea6cdf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Bump Qt version to 4.8.6Thiago Macieira2013-07-093-4/+4
| | | | | Change-Id: I91189c8c33591ef866a4478c113f93162afede95 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Mac: Handle the maximizing of the window ourselves when it is framelessAndy Shaw2013-07-081-1/+8
| | | | | | | | | | | | | | On Mac we need to make a frameless window appear maximized manually rather than letting the underlying Cocoa API deal with it because it would overwise not appear correctly. The test is only done for Mac due to the fact that it is not giving reliable results on other platforms and the source code change is Mac specific anyway. Change-Id: Id48a67ba70bfb4bdc921256f1a80328615c98a6b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix Mac static builds so they get the qt_menu.nib from the resource fileAndy Shaw2013-07-082-6/+40
| | | | | | | | | | Instead of loading the file from the bundle (if it existed) then we create the qt_menu.nib from the resources instead. This ensures that static builds no longer have to have the qt_menu.nib file manually copied to be in the Resources folder for every application. Change-Id: I7abb6fad6395d466e22e7a3b7ffb63b50ae82f65 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix clipping of QTextList decorators.Leonard Lee2013-07-081-1/+14
| | | | | | | | | | | | | | | | List decorators may be clipped if you set a large font size and/or small indent for a QTextList. This fix is to prevent clipping by moving list decorators and items to left (or to right in case of right to left layouts) so that the list decorator is always painted inside the layout. This commit fixes painting related issue, so auto test is not needed. The manual test program can be used for verification purposes. Task-number: QTBUG-5111 Change-Id: I0de01f4d6b833289948ac29e38dd3cc8ab9bca9e (cherry picked from commit qtbase/ad443dfb1d8e9096c4913686aa2ed0bc9b3f5de7) Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* qfilesystemengine_mac.cpp is empty => purgeSamuel Gaist2013-07-053-50/+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>
* can show the Cocoa color panel repeatedlyShawn Rutledge2013-07-051-0/+1
| | | | | | Task-number: QTBUG-11188 Change-Id: I8491985dd6f04971a7aae2ccf7a53fd7294b799b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix drawing of 0-width polylines from outside the devicerect.Gunnar Sletta2013-07-042-17/+27
| | | | | | | | | | | | | | | This was broken by a previous fix which aimed to fix gaps in polylines with tiny line segments. The result was that we skipped updating the origin point when stroke() didn't produce pixels which accidentally included the case of the line being completely outside the deviceRect. I fixed this by returning the value of clipLine in drawLine to the caller so we could still update the origin for this case. Task-number: QTBUG-31579 Change-Id: Iac29436f042da7658bbeaf9370351dc6f2c95065 (cherry picked from qtbase/900cccfd459fcbdbc4aa3d313afe12cfbf68fd87) Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Set projection matrix for systems with OpenGL 3.1Wouter Huysentruit2013-07-042-1/+8
| | | | | | | | | | | | | The projection matrix should also be set for systems running OpenGL 3.1 with GL_ARB_compatibility extension. Task-number: QTBUG-28284 This fix is based on Commit 9514422eeecb468fbf0a60604f5699f9caba3f39 from qt/qtbase project. Change-Id: Iadc5bf3a0e73e401e5c8c5b220fb9bd0ace3970f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* BlackBerry: Increased loop level around bps_get_eventBernd Weimer2013-07-021-4/+10
| | | | | | | | | | | This is needed, because bps_get_event can also invoke callbacks. Deferred deletions in such a callback are not executed for instance, because the loop level might already be at its minimum. Backported from qtbase: f62c92b Change-Id: I83d72d773d53b7b84ec590180f6b1131a57e0f46 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Bring in WebKit revisions 139553 and 139921.Raphael Kubo da Costa2013-07-021-16/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are primarily useful for getting rid of some libstdc++-specific includes which break the build with libc++, and also for simplifying the code and removing a Darwin-specific code path. r139553 by ossy@webkit.org: Use sync_add_and_fetch instead of gnu_cxx::exchange_and_add https://bugs.webkit.org/show_bug.cgi?id=106729 After r139514 we need atomicIncrement(int64_t volatile*) for all platform. Now the GCC implementation of atomicIncrement() is based on gnu_cxx::exchange_and_add, which doesn't support int64_t type, but sync_add_and_fetch does. Reviewed by Benjamin Poulain. r139921 by benjamin@webkit.org: Use GCC's implementation of atomicIncrement/Decrement on Mac https://bugs.webkit.org/show_bug.cgi?id=106976 Reviewed by Filip Pizlo. wtf/Atomics.h: GCC and LLVM have builtin for atomic ADD and SUB: sync_add_and_fetch, sync_sub_and_fetch. Using them let the compiler just generate the atomic operations inline instead of generating a function call to LibC. It also simplify the code a bit. Cherry-picked from qtwebkit/0baf197 and qtwebkit/801fc96. I'm cherry-picking both revisions together to match what was done in 0de22e80. Change-Id: Ie5c1067980662ff04e8e36d8cf6e9459b7c46aab Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* fix off-by-one index checkMark Brand2013-07-021-1/+1
| | | | | | Change-Id: I6d6461eec24895e9aa0e77deccd39210958b7e2c Reviewed-by: Andy Shaw <andy.shaw@digia.com> (cherry picked from qtbase/96a22ed926cfd706c1b5aca1881f124bc9624f2f)
* QNX: Changing the way JSC retrieves the current stack base pointerFabian Bumberger2013-06-281-34/+2
| | | | | | | | | | | | | | | | What Qt is calling the stackbase is the top of the stack. The thread local storage [__tls()] area is at the top of the stack and the stack pointer is initialized below this on thread creation. With this patch, the stack base pointer can be retrieved faster then in the current implementation. This patch is from Sean Boudreau. Change-Id: I3d1ac58d5c43997cbf462424c66be0c7caafcf1b Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix leak in QDragManager::drag on macIvan Komissarov2013-06-281-1/+0
| | | | | | | Change-Id: I467129f989b6e28078c9dd789cde7ff898faf1f5 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QNetwork: Check AuthenticationReuseAttribute when using credentials from urlEl Mehdi Fekari2013-06-241-2/+4
| | | | | | | | | Note: This is not needed in Qt5, as the authenticationRequired method in Qt5 has an allowAuthenticationReuse parameter (bool) that is checked before the credentials are used. Change-Id: I5a2734de615a1a96d1fe648bd251850f3b45e167 Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* QUrl stringprep: fix handling of U+0080: it's prohibitedThiago Macieira2013-06-211-1/+1
| | | | | | | | | Edge case: a > that should have been >=. Without it, we never ran the rest of the IDN nameprepping. (cherry-picked from qtbase commit 4d93393a6de2d6631979df2bc6d12aa43781dc6f) Change-Id: I2276d660de3a70d0c561bb18816820d9a0f47e77 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QUrl stringprep: avoid recalculating the surrogates we already knowThiago Macieira2013-06-211-2/+2
| | | | | | (cherry-picked from qtbase commit 53388cd8e0451ea375ed250b59f9e89319fb3e1c) Change-Id: Icac4e81fff6f7f7fa4f46ec2a08105f8d3d2b403 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QUrl stringprep: fix handling of prohibited charactersThiago Macieira2013-06-211-11/+14
| | | | | | | | | | | | | | | | | | | | | RFC 3454 says about prohibited characters (section 2, "Preparation Overview"): 3) Prohibit -- Check for any characters that are not allowed in the output. If any are found, return an error. This is described in section 5. In other words, we mustn't simply strip the output of prohibited characters. We must generate an error if they are present. We do that by clearing the data. We already had tests for prohibited output, but they were indistinguishable from being stripped. So instead add some extra characters so that we can tell whether the label was cleared. (cherry-picked from qtbase commit 736a052d93d9c75e51e8f3da733bc8e4a50c39ce) Change-Id: I2d95217c27be5e2d54deed0036cb009e3b7f4886 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QUrl stringprep: fix case folding from non-BMP to BMPThiago Macieira2013-06-211-1/+1
| | | | | | | | | | | | | When uc > 0xffff (non-BMP character) and l == 1 (replacement is in the BMP), we must use QString::replace so the correct number of characters is replaced. There's one case testing this in tst_qurl, but it is being obscured by another bug (false positive). (cherry-picked from qtbase commit 86312275197c3fde948035a59c0358162701f9f2) Change-Id: I32388dd5bef32d4d6804aeeec4904bd5f563e9b9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>