summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Various qt documentation fixes (wk 43)artoka2012-01-313-3/+26
| | | | | | | Fixes for bugs: QTBUG-21073, QTBUG-8625, QTBUG-1231, QTBUG-19808, QTBUG-8939, QTBUG-20399, QTBUG-20944, QTBUG-12096, QTBUG-12389, QTBUG-6151, QTBUG-16667, QTBUG-7542, QTBUG-22095, QTBUG-11278 and QTBUG-15653
* Various qt documentation fixes (wk 40&41)artoka2012-01-311-1/+1
| | | | | | | | Fixes for bugs: QTBUG-21067, QTBUG-17025, QTBUG-11489, QTBUG-20069, QTBUG-3563, QTBUG-20089, QTBUG-13983, QTBUG-11820, QTBUG-14732, QTBUG-14521, QTBUG-9675, QTBUG-18313, QTBUG-18313, QTBUG-11312, QTBUG-17739, QTBUG-7678, QTBUG-14759, QTBUG-14756, QTBUG-14677, QTBUG-16164, QTBUG-20721, QTBUG-15562, QTBUG-17029 and QTBUG-18544.
* QMetaType: add "signed char" as builtin.Olivier Goffart2012-01-312-0/+2
| | | | | | | | | | | | According to the c++ specificaiton, 3.9.1 [basic.fundamentals] Plain char, signed char, and unsigned char are three distinct types In QMetaType, I decide that 'signed char' alias with 'char' This allow qint8 to work nice (and which is already registered as an alias to char (QMetaType::Char) Reviewed-by: Joao Task-number: QTBUG-12920
* make the modifySemaphore() signal-safe on linuxRitt Konstantin2012-01-311-1/+6
| | | | | | | | | | as POSIX man says, if semop() is interrupted by a signal, it shall return -1 and set errno to EINTR. in qcore_unix_p.h, we have EINTR_LOOP helper macro exactly for such cases ;) Task-number: QTBUG-14434 Merge-request: 998 Reviewed-by: Olivier Goffart
* fix QEventLoop::X11ExcludeTimers with Glib event loop=l.lunak2012-01-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | When GSource prepare or check functions return TRUE, Glib does not necessary call the dispatch function immediatelly (probably depends on the ordering of processing events). This means that timerSourceDispatch() may get called from different call of QEventDispatcherGlib::processEvents() than its accompanying timerSourcePrepareHelper() or timerSourceCheckHelper(). This is a problem if a timer becomes pending during a normal processEvents() call but will only be executed during a call to processEvents() with QEventLoop::X11ExcludeTimers. The attached patch fixes this problem by rescheduling the timer for another pass. As for a testcase, this happens when making LibreOffice's KDE integration use Qt event loop, requires setting the useEventLoop property on the QClipboard object, so I'm afraid I don't have anything simple. But fact that Glib can keep an event pending for a little moment is rather obvious from its sources or can be triggered from any Qt application, and I hope the rest is an obvious consequence. Merge-request: 2492 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
* QPointer: thread safetyOlivier Goffart2012-01-311-0/+2
| | | | | | | | Fix a race condition between the destructor of QPointer and the destruction of the object living in a different thread. Task-number: QTBUG-16005 Reviewed-by: Joao
* symbian - handle path being passed as part of filename in QTranslatorShane Kearns2011-11-071-3/+15
| | | | | | | Although incorrect API usage, this was a regression from 4.7.3 behaviour Task-number: QTBUG-22489 Reviewed-by: mread
* symbian - search drives for translation filesShane Kearns2011-10-131-2/+38
| | | | | | | | | | | | | | | | | Qt may be installed on a different drive from the application, particularly the case when Qt is included in ROM (Z:) and the application is on C: With this change, if QTranslator::load() specifies an absolute directory in the filesystem (e.g. "/resource/qt/translations") without a drive letter, then the symbian search paths are used. Note that this example path is the one returned by QLibraryInfo so applications using the example code from http://doc.qt.nokia.com/latest/internationalization.html#produce-translations will work as expected. Task-number: QT-5246 Reviewed-by: mread
* Symbian - fix deleteLater not working from RunLShane Kearns2011-10-111-0/+29
| | | | | | | | | | | | | | | | deleteLater stores the loop level in the deferred delete event to prevent the object being deleted by a nested event loop. However as symbian active object RunL functions are called directly from the active scheduler, the loop level is incorrect at that point. (It is normally set by QCoreApplication::notifyInternal) To solve this, the loop level is adjusted before calling RunIfReady so that it is correct during RunL functions. It is then adjusted back for the specific active objects in the event dispatcher that call into QCoreApplication - sendPostedEvents, sendEvent. Task-number: QTBUG-21928 Reviewed-by: mread
* Update licenseheader text in source filesJyri Tahtela2011-05-1386-1456/+1456
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Drift correction and better accuracy for repeating timers in Symbianmread2011-04-202-5/+25
| | | | | | | | | | | | | | | | Timers on Symbian were always firing at least 2ms late. This was partly due to a paranoid extra delay in Qt and the kernel being very cautious. For one shot timers this is not so bad although a bit too much. But for repeating timers, this can cause significant reductions in firing rate particularly for short period timers. The timer active object now corrects timer lateness by up to 4ms per event. This is enough to compensate for the kernel lateness without the possibility of wild corrections. Task-number: QTBUG-18549 Reviewed-by: iain
* Doc: Work on QTranslator::load()Geir Vattekar2011-03-071-4/+9
| | | | Reviewed-by: David Boddie
* Keep sending posted events after commit 7196045b78b33cf135683d5c0b4e164f95231791Bradley T. Hughes2011-02-141-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | This commit put in place a timer based mechanism to ensure that posted events continue to be sent. As pointed out in commit eb1015c7bbf135af3656110a4d112377c1209db8, GetQueueStatus() can indicate that there are messages in the queue but our hook never actually receives them, hence the timer solution. However, having the message type and hwnd "guards" in the conditional for starting a timer would cause us to lose events in some situations, due to the fact that QEventDispatcherWin32::processEvents() will only allow one WM_QT_SENDPOSTEDEVENTS message per call (multiple messages will be compressed into a single one). When racing with other threads, it would be possible to end up blocking one thread that has pending posted events unintentionally. This fix removes the guards and makes sure that we start the keep alive timer when it's really needed, and only stops it when we really know that there is nothing left in the Windows message queue. Task-number: QTBUG-17014 Reviewed-by: joao Reviewed-by: Marius Storm-Olsen
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-02-071-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Changing header/footer size during creation caused recusion Ensure section delegates are updated when the section property changes. Make test compile Disable lineHeight test while implementing the feature in master properly. Initialize primitives when creating a new QVariant modelChanged() should not be emitted until view is repopulated AnimatedImage does not notify on status change. Clarify case preservation in QDeclarativeImageProviders Allow unknown types to be passed opaquely through signals
| * Initialize primitives when creating a new QVariantAaron Kennedy2011-02-041-1/+1
| | | | | | | | | | | | Change-Id: Ib9a089a9d912acac4d40c3a1e36e08e86d7832aa Task-number: QTBUG-16683 Reviewed-by: Olivier Goffart
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-staging into ↵Qt Continuous Integration System2011-02-041-4/+4
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-staging: (216 commits) Doc: Fixed a reference to the wrong image. Fixed a bug that caused marked up inline text to be truncated. Doc: Renamed an image to ensure that it does not clash with another. Doc: Fixed QML, unindented snippet. Doc: Removed unnecessary HTML entity from the title. Doc: Fixed broken links to the old Symbian Foundation Wiki. Doc: Updated the copyright statements in the templates. Doc: Fixing typo Replace all occurances of "Qt 4.7" with "QtQuick 1.0" Doc: Adjusted the font sizes for the offline documentation. Doc: Added a missing style sheet to the qhp manifest. Doc: Fixed the qthelp namespace for the Qt documentation. Doc: including missing pages in overviews. Doc: Fixed typo in QCoreApplication docs Fixed whitespace. Avoid hard-coding product names in page titles. Doc: Unindented a code snippet. Doc: Fixed confusing wording of a sentence. Doc: Fixed a broken link. Doc: Updated the information about commercial editions of Qt. ...
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-review into 4.7David Boddie2011-01-311-4/+4
| |\
| | * Merge branch '4.7-upstream' into 4.7-docA-Team2011-01-281-6/+24
| | |\
| | * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7Geir Vattekar2011-01-276-24/+27
| | |\ \
| | * | | Doc: Fixed typo in QCoreApplication docsGeir Vattekar2011-01-271-4/+4
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-14274
* | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-01-304-2/+57
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (151 commits) expect fail for some PinchArea tests on mac Allow functions to be passed in as values for grouped properties Fix lineHeight autotests. Update Docs, Examples and Demos for new CreateObject overloadable Adding support for group properties in Component::CreateObject() Update test, versioning is fixed so expect-fail no longer needed Test failure fixed - remove XFAIL photoviewer needs QtQuick 1.1 for Image::cache disable some pincharea tests on mac temporarily Fix failing test on mac for Qt.application Fix test breakage for qdeclarativeworkerscript Fix typo in error message. Doc fix for lineHeight. Add support for line spacing in Text element. Fixing right-to-left text in Text and TextInput Fix MaximumLineCount in Text and add tests Ensure simple objects also get the appropriate property cache Add test for Loader implicitWidth/implicitHeight Don't crash when appending a null item Test for passing functions to createObject() for property bindings ...
| * | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into qtquick11Bea Lam2011-01-276-25/+35
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | | | | | | | | | | | Conflicts: src/declarative/graphicsitems/qdeclarativegridview.cpp src/declarative/graphicsitems/qdeclarativelistview.cpp
| * | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into qtquick11Martin Jones2011-01-1986-103/+187
| |\ \ \ \
| * | | | | Allow a revision to be associated with properties and methods.Martin Jones2011-01-054-2/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows a revision to be associated with properties via: Q_PROPERTY(int prop READ prop1 REVISION 1) Allows a revision to be associated with methods via either: public slots Q_REVISION(1): void method1(); or: public slots: Q_REVISION void method1(); Private revision() methods are added to QMetaProperty and QMetaMethod to access the revision info. This is private API for use by QML for now. Task-number: QTBUG-13451 Reviewed-by: Kent Hansen
* | | | | | Revert "Improve timer ID safety by using a serial counter per ID."Thiago Macieira2011-01-281-24/+6
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | This reverts commit 121e2b39043a4ffc6583f250aebb9a3a746076c1. It was considered too dangerous for 4.7.
* | | | | Improve timer ID safety by using a serial counter per ID.Thiago Macieira2011-01-261-6/+24
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The high bits of the counter are not used, so we store a serial counter there. This has nothing to do with the serial counter used in nextFreeTimerId, which is there for ABA protection. Reviewed-by: Bradley T. Hughes
* | | | get rid of extra calls to handle()Ritt Konstantin2011-01-211-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in create(), handle() is called a few lines early; in attach(), QSharedMemory::attach() calls handle() as a preparation step; in detach(), well, if we're here, unix_key is valid anyways... Merge-request: 1018 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | simplify QSharedMemory::detach()Ritt Konstantin2011-01-213-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | de-init members in the QSharedMemoryPrivate::detach() like in code for symbian. this gains a lightly better control in case of errors on detach() Merge-request: 1018 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | avoid extra calculationsRitt Konstantin2011-01-212-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSystemSemaphore::setKey() sets the fileName member to makeKeyFileName()'s result; no need to call it again Merge-request: 1018 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | fix error reporting on detach()Ritt Konstantin2011-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | before, we returned too early :) Merge-request: 1018 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | | fix error reportingRitt Konstantin2011-01-211-0/+1
| |/ / |/| | | | | | | | | | | | | | | | | that was mistakenly broken by 570e7b38487455d394b5b74a59edc639f3dc416f Merge-request: 1018 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* | | Revert "Add a warning about trying to release a timer ID that isn't active"Olivier Goffart2011-01-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e1955231478df8990cf8b1f80438abf957c5d6f2. Revert it in Qt 4.7 because the warning is triggered a lot by Qt itself They are going to be fixed in master. Reviewed-by: Thierry Task-number: QTBUG-16175
* | | Fix QSystemSemaphore handle management issues in SymbianMiikka Heikkinen2011-01-131-4/+16
| |/ |/| | | | | | | | | | | | | | | | | QSystemSemaphore native RSemaphore handle was unnecessarily created again on each acquire. The creation logic was also susceptible for random failures when two or more threads tried simultaneously acquire the semaphore. Task-number: QTBUG-16615 Reviewed-by: Janne Koskinen
* | Allow use of command line parameters with RApaLsSession::StartApp.Miikka Heikkinen2011-01-113-8/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Symbian application is launched using RApaLsSession::StartApp, command line parameters can be given with CApaCommandLine::SetTailEndL and will now be correctly interpreted by Qt applications as command line parameters. There are a couple of limitations: 1) The parameters given with CApaCommandLine::SetTailEndL will not be available in main method's argv array; they can be accessed via QCoreApplication::arguments function. 2) CApaCommandLine::SetTailEndL does support any arbitrary binary data as parameter, but only 8-bit string data gets parsed properly into QCoreApplication::arguments. For other kind of tail data, you need to subclass QS60MainAppUi and implement ProcessCommandParametersL callback. Task-number: QTBUG-15987 Reviewed-by: axis
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-01-1086-88/+88
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: QFont/Windows: restrict the pixel size accuracy Update copyright year to 2011. For non-developer builds, skip test that requires private API tst_qhttpnetworkconnection: Compile fix Change QHostInfoCache to use QElapsedTime instead of QTime. Fix for qtdemo bug
| * | Update copyright year to 2011.Jason McDonald2011-01-1086-88/+88
| |/ | | | | | | Reviewed-by: Trust Me
* | Fix handle leak in symbian QTimer implementationShane Kearns2011-01-101-2/+4
|/ | | | | | | | | | | | | | The timer handle was only being closed when a timer was cancelled, which resulted in a leak for one shot timers that have completed normally. Instead the timer is now closed in a destructor (closing null handles is safe, so it doesn't matter if the handle was never created - e.g. in the case of a zero timer) Also added a handle check before creating a timer to prevent a leak in case the start function is called twice in the backend. Task-number: QTBUG-16380 Reviewed-by: mread
* Add a warning about trying to release a timer ID that isn't activeThiago Macieira2010-12-151-0/+1
| | | | Reviewed-By: Trust Me
* Add a small protection against releasing a timer twice.Thiago Macieira2010-12-131-2/+12
| | | | | | | | | | | | The cell corresponding to an allocated timer ID in the free list is unused (because the ID isn't free). So use it to store an invalid value that we can check against the user's value. This provides some protection against a given timer being released twice. Since we store the serial counter of the nextFreeTimerId, getting the same ID twice is a 1-in-128 chance. Reviewed-By: Bradley T. Hughes
* Use constants the timer ID masks instead of values everywhereThiago Macieira2010-12-131-4/+8
| | | | Reviewed-By: Bradley T. Hughes
* Fix ABA problem with: the serial must be updated on all accessesThiago Macieira2010-12-131-1/+1
| | | | | | | The nextFreeTimerId's serial counter was only being updated on timer ID releasing. It needs to be updated on allocation too. Reviewed-by: Bradley T. Hughes
* Comment a bit more the timer ID allocation code.Thiago Macieira2010-12-131-2/+22
| | | | | | | Also add the notes for where to place .loadAcquire when that function exists. Reviewed-By: Bradley T. Hughes
* Prevent compilers optimizing eval timebomb code out of existence.Jason McDonald2010-11-241-2/+2
| | | | | | | | | | | | | | | | The variable that holds the eval license key is a placeholder that is patched during package installation. Unfortunately, for a non-final package build, the placeholder is filled with nulls at compile-time and a clever compiler will optimize away most of the eval timebomb code due to a check in the eval code for the first character of the license key being null. This commit makes the variable that holds the license key volatile, to convince compilers that they cannot make assumptions about the contents of the variable when optimizing. Task-number: QT-3848 Acked-by: Thiago Macieira
* Compile when USER_TIMER_MINIMUM isn't definedBradley T. Hughes2010-11-221-1/+1
| | | | | | | Just user a value of zero instead. Windows will use USER_TIMER_MINIMUM anyways (according to the SetTimer() docs). Reviewed-by: trustme
* Don't let posted events starve native dialogs (regression)Bradley T. Hughes2010-11-181-14/+34
| | | | | | | | | | | | | | | | | | | | After commit eb1015c7bbf135af3656110a4d112377c1209db8, it is possible for posted events to starve some of the (most likely internal) messages used by native dialogs. This commit reverts eb1015c7bbf135af3656110a4d112377c1209db8, and instead introduces a Windows timer to keep sendPostedEvents() happening while the event queue is very active. The GetMessage() hook we install will eventually see when the queue is empty and we can use PostMessage() again, which will then stop this timer. This fixes the regression reported in QTBUG-14655, as well as all of the other reported regressions and problems since the initial commit 31f1ff91028dd7f90925d5b3737e4d88b5fb07aa (which ensures that posted events are sent even when Windows is spinning the message loop). Task-number: QTBUG-14655 Reviewed-by: joao
* Push and pop the thread-default context for the current threadPhilip Van Hoof2010-11-111-0/+7
| | | | | | Merge-request: 869 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com> (cherry picked from commit aa88b7044dd86850e6986aa80104bb38bb7b12eb)
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-11-092-4/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixed deployment for symbian/linux-armcc when using shadow builds. Started using qtmain.lib for all Qt applications, also corelib ones. Make qmake to pass all UTF-8 characters unchanged through parser. Implement support for DEPLOYMENT.display_name in Symbian Added .flags modifier support for DEPLOYMENT items in Symbian Make default application deployment removable Allow pkg_prerules and pkg_postrules to be targeted to separate files Added missing def file symbol. Revert "Use qtmain.lib to provide entry point for all Symbian applications" Fixed test after the fix to QT-4077. Fixed event starvation with pointer events on Symbian.
| * Merge branch 'QT-4077-fix' into 4.7-s60axis2010-11-052-4/+9
| |\
| | * Fixed event starvation with pointer events on Symbian.axis2010-11-052-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CEikonEnv active object is used by Symbian to indicate that new window server events are available, in this case pointer events. Since this object was being controlled by Symbian, it was not subject to Qt's round robin queue. In a case where the event handler for the pointer event would take very long, it was possible for the active object to be completed again before the previous handler was finished, causing it to be called in a loop. This was fixed by making a new Qt-owned class as a subclass of CEikonEnv, and in its RunL, make sure that the object follows the round-robin queue. Because the round robin code is located in a subclass of CEikonEnv that we own, the fix will have no effect if Qt is loaded after the Eikon framework (such as a Qt plugin in a non-Qt app). Task: QT-4077 RevBy: mread AutoTest: N/A, system events
* | | Doc: Removed note about some Qt classes working without an application.David Boddie2010-11-041-5/+4
|/ / | | | | | | | | | | The QString example turned out to be a poor one because it requires an application instance in cases where text codecs need to be set up for the user's locale.