summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed copyright and contact headersTeemu Kaukoranta2013-07-1140-40/+36
| | | | | | | | | | | | | | | | | | | | | | | | Removed deprecated "all rights reserved" strings Changed contact details to qt-project.org/legal Used the following command: find . -path '*/3rdparty/*' -prune -o -exec grep -ilI -E '.*Copyright.*Nokia.*|.*Contact.*' {} \; | tee >(xargs sed -i -r '1,50 { /INdT|copy[a-z]*[ ]*=/ !{ s/(^[ \t:#*;/"\\-]*)([a-z ]*)(Copyright.*Nokia.*)/ \1\2Copyright \(C\) 2013 Digia Plc and\/or its subsidiary\(-ies\)\./I }}') >(xargs sed -i -r '1,50 s/(^[ \t:#*;/"\\-]*) (.*info@qt\.nokia\.com.*|.*INSERT EMAIL ADDRESS.* |.*qt-info@nokia\.com.*|.*qt-label1@nokia\.com.* |.*http:\/\/qt\.nokia\.com\/contact.*|.*qt-sales@nokia\.com.* |.*http:\/\/www\.qt-project\.org\/.*)/ \1Contact: http:\/\/www\.qt-project\.org\/legal/I') >(xargs sed -i -r '1,50{/(^[ \t:#*;/"\\-]*)(all rights reserved.*)/Id}') Change-Id: Ic57037fd897a54440e4bad0939ee2bf9f1dfcd5d Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com>
* Replaced Nokia copyrights in headerTeemu Kaukoranta2013-07-1038-75/+74
| | | | | | | | | | | | | | | | | | | | | | | | | Replaced old Nokia copyrights with Digia copyrights. Removed "All rights reserved" strings without leading copyrights were removed (for example, 'Copyright SomeCompany, all rights reserved remain untouched). Did NOT touch contact details, will change them later. Excluded folders that have '3rdparty' in path. Used command: find . -path '*/3rdparty/*' -prune -o -exec grep -ilI -E '.*Copyright.*Nokia.*' {} \; | tee >(xargs sed -i -r '1,10 s/([ #*]*)(.*Copyright.*Nokia.*)/ \1Copyright \(C\) 2013 Digia Plc and\/or its subsidiary\(-ies\)\./I') >(xargs sed -i -r '1,10 s/(^[ #*]*)(all rights reserved.*)/\1/I') This excludes binary files and retains whitespace and #* characters in the beginning of the edited lines. Fixed "all rights reserved" that didn't get removed completely. Change-Id: Iec19ee5ca4fd7e0735a234955fe1648f1f71d206 Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@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-0920-40/+140
| | | | | 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-082-1/+17
| | | | | | | | | | | | | | 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-086-1/+331
| | | | | | | | | | | | | | | | 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-055-55/+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>
* Updated changes-4.8.5 fileaksalova2013-06-261-10/+347
| | | | | Change-Id: I7c5b349e2aecbe2939d2ec5e39c211ad56b7ef1a Reviewed-by: Sergio Ahumada <sergio.ahumada@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>
* Designer: Fix morphing of widgets in QSplitters.Friedemann Kleint2013-06-221-0/+8
| | | | | | | | | | They were not handled at all, children were just reparented resulting in the morphed widgets being appended. Task-number: QTBUG-31911 Change-Id: Idae8f66663416d514a2f3c299e58d726a3dd578a Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com> (cherry picked from qttools/d251ee9dcbd015f2acbe76231902b72163cd05a2)
* QUrl stringprep: fix handling of U+0080: it's prohibitedThiago Macieira2013-06-212-1/+6
| | | | | | | | | 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-212-38/+35
| | | | | | | | | | | | | | | | | | | | | 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>
* QUrl stringprep: recalculate the current position if the size changesThiago Macieira2013-06-211-1/+2
| | | | | | | | | | | | | | If the case folding operation results in either expansion or reduction of the string, we need to adapt. Reduction happens most often when a non-BMP character is case-folded to a character in the BMP (example: mathematical signs at U+1D400-1D7FF). Expansion happens in the rare case of symbols containing words, like U+2121 ℡ (this is part of the unit test), and one common case: the German sharp S (ß) is expanded to "ss". (cherry-picked from qtbase commit 2ccf4c32cc593f568581dd237e1e27d39fd965a2) Change-Id: I1bdbdc908b958a89bf30e4bb648d65dfdd9097f8 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QSystemLocale: Fix the time format on BlackBerry 10Mehdi Fekari2013-06-201-2/+2
| | | | | | | | | The time format should depend on the device settings (24 hour format) cherry picked from qtbase/686c94c892006a3e72291ca8971aabf18ea1ec85 Change-Id: I6226486ee1feedc27fab49802a0043619e83659c Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Doc: remove the duplicate for in QStyle documentationLiang Qi2013-06-201-1/+1
| | | | | | | | | Task-number: QTBUG-31739 (cherry picked from commit 0a55499c9af9a4b0a98a12a8aba82c3764fa5994) Change-Id: I1d2d1bb5ca7a19a8c42f11e944e8339e56df6e4b Reviewed-by: Liang Qi <liang.qi@digia.com>
* Fix various NTLM/Digest multi-threading and usage issuesAron Rosenberg2013-06-202-37/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | - Fix multi-threading bug where NTLM/Digest auth would fail when concurrent requests were on the wire. The fix for this is too not internally share QAuthenticationPrivate pointers, since the challenge values would get overridden in different threads. This was failing because the internal QAuthenticationPrivate members would have been set with the status/values of the current request which would mess up the state of the new request. As currently implemented, the helper functions inside QAuthenticationPrivate can't call detach to implement proper copy on write symantics. - Fix issue where if user was set via constructor, the NTLM domain parsing would not occur. Parsing of DOMAIN\user is now redone if proxy type is determined to be NTLM. Task-number: QTBUG-15472 Task-number: QTBUG-17322 Task-number: QTBUG-18794 Task-number: QTBUG-13063 Task-number: QTBUG-16585 (cherry picked from commit 6ccbfd6ca498da04e4ef02102c4ded9768225b5a) Cherry-picked-by: Peter Hartmann <phartmann@blackberry.com> Change-Id: I58ae6ae362baadfb25eaa7b29556e6e8250d5d95 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* network requests: do not access 1st byte of empty byte arrayPeter Hartmann2013-06-191-1/+2
| | | | | | | | | | | | ... because otherwise this would crash. Apparently there are cases where the header name is empty. Task-number: QTBUG-31667 (cherry picked from commit dd050d35d77e2f6ac37bd1266a843df55848022f) Change-Id: I4c99094d2bad3ebb7cf44f83f9ed6a5f73b73016 Reviewed-by: Richard J. Moore <rich@kde.org>
* Recognize separator item in QMenu.Leonard Lee2013-06-171-2/+2
| | | | | | | | | | | | The mouse over event on upper level menu separator should automatically close the sub menu listing. Manual test is not needed for this commit since it is easy to test it against common examples. Task-number: QTBUG-31664 Change-Id: I6632d0bce27ca064ddfdd05743df969b3e6e02ee (cherry-picked from qtbase/f730cd7542548d7d5fb7cd25f631e471697960c8) Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Implement apostrophe in windows cmd args.Leonard Lee2013-06-171-5/+2
| | | | | | | Task-number: QTBUG-15379 Change-Id: I113692983a8c16c56f0f684146d0d32e25d4869d (cherry-picked from qtbase/c1e24f883824ad894aa121568e4fde8553028d95) Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Fix crash when re-creating QThreadData after initially destroying itTor Arne Vestbø2013-06-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We destroy the thread data for the main thread when the QCoreApplication is destructed, and then delete the pthread key for the thread data in the global static destructor function 'destroy_current_thread_data_key'. The user may have its own Q_DESTRUCTOR_FUNCTION though, which may or may not run after we've destroyed the key. If it runs after we've destroyed the key, we'll end up trying to re-create the tread-data, as expected, but set_thread_data() will fail to persist it, as pthread_setspecific is called with an invalid key. The result is an infinite recursion: ... 6 in QThreadData::current () at qthread_unix.cpp:216 7 in QObject::QObject (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qobject.cpp:703 8 in QThread::QThread (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qthread.cpp:396 9 in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:120 10 in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:130 11 in QThreadData::current () at qthread_unix.cpp:219 12 in QObject::QObject (this=0x48e1a20, dd=@0x48e1a30, parent=0x0) at qobject.cpp:703 ... To solve this, we reset current_thread_data_once when destroying the key, so that subsequent calls to pthread_once to potentially create the key will call create_current_thread_data_key once more. This means we'll leak the key for this particular use-case, since we don't end up calling pthread_key_delete a second time, but this leak is small and happens typically only for a short duration during application shutdown. Cherry-picked from qtbase/46667d604fb2ae11a87c0c075a3d2468d02f7bdb. Change-Id: Iffc372ca530a486cd3efc2237ab02468bdcb5c81 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make sure QThreadData and QAdoptedThread object is destroyed at app exitjian liang2013-06-161-0/+7
| | | | | | | | | | | | | | | | Task-number: QTBUG-30134 Restore the lines in qcoreapplication.cpp removed by commit 950b35cf97ad398f97883efd2a18ee97994a8a9c to ensure QThreadData and QAdoptedThread object of main thread is destroyed at application exit. We don't set QCoreApplicationPriavte::theMainThread to 0 as before since it will be set to zero in QThreadData::~QThreadData() Cherry-picked from qtbase/7dc622290bb8e81af634034f443e25be0d6d48a3. Change-Id: I6bc62235d0aff7818ca9a9cad45625b2777afc55 Reviewed-by: jian liang <jianliang79@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clear the current thread data for the main threadThiago Macieira2013-06-166-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | This avoids crashes accessing deleted memory when creating a QObject after the last QObject had been deleted, like a qDebug() in global destructors. ==41000== Invalid read of size 4 ==41000== at 0x5F01ED5: bool QBasicAtomicOps<4>::ref<int>(int&) (qatomic_x86.h:208) ==41000== by 0x5F01309: QBasicAtomicInteger<int>::ref() (qbasicatomic.h:147) ==41000== by 0x5F24051: QThreadData::ref() (qthread.cpp:100) ==41000== by 0x614A984: QObject::QObject(QObject*) (qobject.cpp:681) ==41000== Address 0x6ee73f0 is 0 bytes inside a block of size 152 free'd ==41000== at 0x4A0736C: operator delete(void*) (vg_replace_malloc.c:480) ==41000== by 0x5F240BF: QThreadData::deref() (qthread.cpp:109) ==41000== by 0x6113F6B: QCoreApplicationData::~QCoreApplicationData() (qcoreapplication.cpp:268) The comment right above the change in qthread.cpp looks eerily similar to the problem I'm trying to fix. However, the actual change that introduced the change is not in the Qt public history, so we can't know for sure what the problem was then. Cherry-picked from qtbase/950b35cf97ad398f97883efd2a18ee97994a8a9c. Change-Id: Ic4072c15529e2ae94ea36fbd0340cf5ee61413d2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* clucene: Compile with clang's libc++Bradley T. Hughes2013-06-161-0/+8
| | | | | | | | | | | | | | When using clang's libc++, the 'using namespace std;' in CLucene's StdHeader.h causes ambiguity between wcschr() from wchar.h and std::wcschr() from cwchar (which is automatically included by libc++). The only symbols used from the std namespace are std::min() and std::max() so only pull these in, not the whole std namespace. Cherry-picked from qttools/bc35938d0d49b04bf98feda3e85da186ecc8184d. Change-Id: Ife6647df795f59a5feebd5c1aa3eebe7446ec720 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Bring in WebKit revisions 139553 and 139921.Raphael Kubo da Costa2013-06-151-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 qtscript/184fc178f4c753727445694c4830c250f53da588. Change-Id: Id785e35944682691725947e0f329668d17ff6903 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QGtkStyle: add getIconThemeName() helper functionDmitry Shachnev2013-06-153-2/+27
| | | | | | | | | | | | | | | | | Add QGtkStyle::getIconThemeName() static helper function (which uses GtkSettings to retrieve the theme name) and use it in QGuiPlatformPlugin::systemIconThemeName() when desktop is GNOME. In modern distributions like Debian and Ubuntu, the /desktop/gnome/interface GConf schema is no longer installed, so the old method for retrieving icon theme name no longer works. Qt 5 already uses GtkSettings for this thing, although the code is in a different place. Change-Id: Ib13d4809b55dd55dc1fa0bc2c4b1552f13feb030 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QDockWidget: Keep position when undocking.Friedemann Kleint2013-06-142-0/+11
| | | | | | | | | Initialize undockedGeometry to roughly the current position. Task-number: QTBUG-31044 Change-Id: I03cbe280d1215bb58ab721b60e29b45359cde76d Reviewed-by: Andy Shaw <andy.shaw@digia.com> (cherry picked from qtbase/0d459619a902e547d8c74745453b3bdb8f67a660)
* Document the fact that QPA is experimental in Qt 4.8Andy Shaw2013-06-121-0/+3
| | | | | | | | Task-number: QTBUG-26912 Change-Id: I8544a970f58faf9fd9811603d6640ad2b99ebe1d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Cleanup the QDrag when doing a drag with the right mouse button on MacAndy Shaw2013-06-111-1/+4
| | | | | | | | | | When doing a drag with the right mouse button on Mac then it will be ignored straightaway because it will not be accepted. Therefore we need to cleanup the QDrag object as normal so that it is deleted as appropriate. Change-Id: I781fcea7b7c75775adb814090e917363fa7c9189 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Only use Vista style for Wizards when on Vista or laterAndy Shaw2013-06-101-1/+1
| | | | | | | | | | If the application is running in XP compatibility mode then we don't want to show the Vista style for the wizard as this will include a back button that should not exist. Therefore we check the platform it is on before trying to resolve the symbols so that it is correct. Change-Id: Ic7249e06461068fe08184a22bb750ab8736ebc3f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Compile with clang's libc++Bradley T. Hughes2013-06-102-2/+4
| | | | | | | | | | | | | | | An overload for std::swap() what works with std::pair<A,B> is included in libc++ (but not libstdc++). Avoid ambiguity in HashTable.h by omitting the version there and using the std::swap() version. Collector.cpp needs to include pthread.h directly, as it is not automatically included by libc++'s headers (libstdc++ does pull in pthread.h though). Cherry-picked from qtscript/48baeef0766ba145d26d374561e152b40245f3b8. Change-Id: I4dc88638ce8553bb97037b841fc6cc5e8c9911e2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix for OS X QFileDialog showing bundle as directorySamuel Gaist2013-06-071-1/+1
| | | | | | | | | | | | | | Also check if the selectedFile is a bundle to correctly set currentDir. This fix does not apply to Qt 5 because QFileDialog has been reimplemented differently and this file does not exist anymore. Task-number: QTBUG-31562 Change-Id: I145108647dd613cb529bb65bc6c7191154dab5b8 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Correct error in Makefile generation for Windows MinGW.v4.8.5Michael Brüning2013-06-061-1/+1
| | | | | | | | | | | | Remove the build_pass check that was added for vcproj generation as it is no longer deemed necessary. See http://trac.webkit.org/changeset/62264 and http://trac.webkit.org/changeset/59266 for context. Task-number: QTBUG-27413 Change-Id: Ie82032cf4b183b31c66defc2d49cc8095989ec8f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Don't overwrite QMAKE_QT_CONFIG with empty valueJonathan Liu2013-06-061-1/+5
| | | | | | | | | | | | If the mkspec sets QMAKE_QT_CONFIG, QMAKE_QT_CONFIG may be overwritten with an empty value from .qmake.cache. Avoid this by first checking if the value from .qmake.cache is not empty before assigning it to QMAKE_QT_CONFIG. This was already addressed differently in Qt 5. Change-Id: I95fa630139b8798156a2fb15d0dde630a0a53a0a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove Nokia references.Leonard Lee2013-06-043-5/+1
| | | | | | | | | | These Nokia references removed as they are not appropriate. Task-number: QTBUG-31400 Change-Id: Ib80d2c2d28353e74c46e9ead9cde9807dad7022d (cherry-picked from qtdoc/019f96bc47cf56170c125ae90f5fc00059f6665d) (cherry-picked from qtwebkit/d7b8c69ccdd5547b5660be5876dbdedc3ac29548) Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Re-enable compilation of idc for MinGWKai Koehne2013-06-041-1/+1
| | | | | | | | | | | | | | | | | | | Re-enable compilation of idc for MinGW to fulfill the activeqt dependency on idc. idc and activeqt compile fine with MinGW, but most examples won't work because of the missing midl compiler. This was the reason activeqt and idc was disabled originally after Qt 4.8.4. Anyhow, 330ca76b then re-enabled compilation for activeqt, but not idc, which broke the build. This patch re-enables compilation of idc, but still by default does not compile activeqt examples. Qt 5 ships with activeqt / idc for MinGW too, btw, so excluding it in Qt 4.8.5 is inconsistent. Task-number: QTBUG-31517 Change-Id: I7d4e7ed56c1954996b7291f56143ff83fcdcb0a5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make sure idc links only against QtCoreKai Koehne2013-06-041-0/+2
| | | | | | | | Do not link against QtGui (which might not have been compiled yet). Task-number: QTBUG-22260 Change-Id: I42d926cc30a0bc278fc796f32652281c03f140d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Disable precision timers when running MSVC2012 code on pre-Windows 8.Friedemann Kleint2013-06-041-1/+5
| | | | | | | | | | | Precision timers can cause the event loop to lock up when running MSVC2012 code on pre-Windows 8. Task-number: QTBUG-27266 Change-Id: Idd73731e82843d0d140859bab825bc1a54eccf1a Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> (cherry picked from qtbase/aa1b4c0943187d82e0c313b93559e99226a9c75a)
* Update LICENSE.PREVIEW.COMMERCIAL licenseSergio Ahumada2013-06-031-2/+2
| | | | | | Change-Id: I8af7630ec54e1a9d4b063e8278df5e75d2abf97e Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Doc: Fixed typo in QDialog.Jerome Pasion2013-06-031-1/+1
| | | | | | | Task-number: QTBUG-31493 Change-Id: Ie112f601d629c794842d746e7b9c96849c74bdf6 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>