summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Allowing symbian cleanup code in thread started and finished slotsMurray Read2012-02-221-2/+10
| | | | | | | | | | | | | | | The run() function of QThread was inside a TRAP, but the started() and finished() signals were emitted outside of a TRAP so could not contain Symbian cleanup stack code. This broke compatability with some apps, as the older pthread based implementation had the whole main thread function running inside a TRAP. The started and finished signals are now emitted inside TRAPs, with enhanced leave/exception handling code. Task-number: ou1cimx1#979704 Change-Id: I9b4e50b1085494b5fd5e05efa11739ce19ff26fb Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* Take into account input shaping in findRealWindowAlbert Astals Cid2012-02-213-26/+19
| | | | | | | | | | | | | | | In previous commits we took into account bound shaping, but X also supports input shaping, so make sure it's inside both input and bounding shaping to consider the position as inside a window My tests show that when unset Bound Shaping and Input Shaping return the rectangle of the window itself, so we need to be inside both of the rectangle sets to consider the position as a dragabble position for the window Change-Id: Icb2204a50a97e4a5e02e75301c67287525b290ba Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Implemented QAccessibleTextWidgetJosé Millán Soto2012-02-212-179/+312
| | | | | | | | | | | | | | | A new class called QAccessibleTextWidget was added. This class should implement all methods of QAccessibleTextInterface and QAccessibleEditableTextInterface which only need a QTextCursor, and it defines two pure virtual methods, to obtain and set the text cursor, so accessible implementations of widgets which use a text cursor can implement these two methods. QAccessibleTextEdit is now a subclass of QAccessibleTextWidget and most of its methods were moved to QAccessibleTextWidget. Change-Id: Ie30e7b377cb9b381c2ef6017ecb188fd0fdeeddb Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QElapsedTimer/Win: Fix 64-bit integer overflowJonathan Liu2012-02-211-1/+3
| | | | | | | | | | | | The ticksToNanoseconds function in qelapsedtimer_win.cpp multiplies ticks from performance counter with 1000000000 which can sometimes result in 64-bit integer overflow. This can cause the elapsed time to reset or jump around. Task-number: QTBUG-23150 Change-Id: I464503e03cbe64e13906e773beafbf88e7dc256a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Initial import of the BlackBerry Playbook QPA plugin.Rafael Roquetto2012-02-2133-0/+7381
| | | | | | Change-Id: Ibc883be9af145eafef2e5ff9eb82c3364bace331 Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Fixes QProcess on QNXRafael Roquetto2012-02-203-82/+67
| | | | | | | | | | | | | | This patch first re-enables childStartedPipe on QNX and uses, just like other platforms, to monitor the inferior process life cycle. This also aligns QNX-specific code logic closer to the common QProcess logic, making it unecessary to have custom versions of functions such as QProcess::waitForStarted(). The only difference that remains is the use of spawn() instead of fork(), because both fork() and vfork() do not support multi-threaded applications on QNX and will segfault. Change-Id: I8e1f9823629fcb5e7c3c128fafc2542a403b969e Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove unnecessary locking from QNetworkProxy constructorShane Kearns2012-02-201-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | QGlobalNetworkProxy (a singleton) had two phase construction, with the second phase being called from QNetworkProxy's constructor. This isn't necessary, and has been reported as causing deadlocks. Although constructing socket engine handlers has side effects (they add themselves to a list on construction and remove themselves on destruction), this appears to be safe. The socket engine handlers are only used while holding the list mutex, and any socket engines created don't have any reference to the factory that created them. With the new version, it is possible that two instances of QHttpSocketEngineHandler and QSocks5SocketEngineHandler exist temporarily if a Q_GLOBAL_STATIC initialisation race occurs. This appears safe, because the loser of the race deletes its handlers, which remove themselves from the global list as above. Task-number: QTBUG-13088 Change-Id: I8cf520da717d8ab7d862ab89c6de13aea6d60ac3 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit aee4cbf22a5942c7bd4b9545a8fcb7cf2930e0ee)
* Fix handling of urls containing username/password in QNetworkAccessManagerShane Kearns2012-02-201-0/+10
| | | | | | | | | | | | | | | | | | | QNetworkAccessManager was ignoring the supplied credentials, although webkit seems to support these urls at a higher level. Following the behaviour of browsers: We use supplied credentials if authentication is required. We add supplied credentials to the authentication cache. We emit authenticationRequired signal if the credentials were wrong. We do not use previously cached credentials for that url Synchronous http requests fail, if the credentials were wrong. Task-number: QTBUG-18107 Change-Id: If46e8eab1511ba8a0f4bbe0d4efaabc4df0b8ab4 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit b4a538ea1c3cdce09e3528227dba2e8f5765cbdc)
* Fix incorrect use of QObject::disconnect in synchronous http requestShane Kearns2012-02-201-2/+4
| | | | | | | | | | In certain circumstances, this could cause the request to time out (and repeatedly send bad authentication credentials to the server) instead of failing with AuthenticationRequiredError. Change-Id: Iff66b32f1d7268f21fd77b6620aae4b5d49d857f Reviewed-by: Richard J. Moore <rich@kde.org> (cherry picked from commit d425a0dad38e51c99cfe59294a3706ced90b24a0)
* Update documentation to show NTLMv2 is supportedShane Kearns2012-02-201-4/+2
| | | | | | | | | | This feature was implemented in 4.8, but documentation was not updated at the time. Task-number: QTBUG-18181 Change-Id: I657d7ab7aaf43b73b7bf8fd1cb76086522cf5c2b (cherry picked from commit 6f7bd6532d34713811c8f70b287d151d24cdda7c) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* RR scheduler error handling for deleted active objectsMurray Read2012-02-202-4/+10
| | | | | | | | | | | | | | | | | | We have discovered that the active object ConnectionStarter could potentially leave after deleteing itself in RunL. If that were to happen, QtRRActiveScheduler::RunMarkedIfReady would have crashed when it asked the deleted active object to handle the error. Some active object deletion detection has been added to QtRRActiveScheduler::RunMarkedIfReady to protect against crashes. The ConnectionStarter active object has been modified so that even if it does leave, when running in CActiveScheduler, it still won't cause a crash and will clean itself up correctly. Task-number: ou1cimx1#979241 Change-Id: Iafa10b96bbd8bedfec82d6d546c7ffaf0557fd8b Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* Fixed typo in text: "dpeth" -> "depth"Sergey Belyashov2012-02-201-1/+1
| | | | | | Change-Id: Ic910dc63db5625640735e2918f09c75a1d8669cc Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix for Shazam crashMurray Read2012-02-171-7/+5
| | | | | | | | | | | | | | | QtRRActiveScheduler::RunMarkedIfReady was setting a flag in active objects after RunL(). Active objects potentially delete themselves in RunL(), and so this flag setting potentially corrupts memory. The flag is unnecessary, so has been removed. Other flags are renamed to make their roles clearer. Task-number: ou1cimx1#947013 Change-Id: I1391c31b33074ee9d7fd02410fdb879afc455842 Reviewed-by: Juha Kukkonen <ext-juha.kukkonen@nokia.com> Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com> Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com> Reviewed-by: Murray Read <ext-murray.2.read@nokia.com>
* Ensure the scrollers appears when there is too many menu itemsAndy Shaw2012-02-171-10/+11
| | | | | | | | | | | | When there are too many items in a single column menu then scrollers will appear for the menu to enable scrolling to the other items. However, this broke in Qt 4.8 as the scrollers would not appear anymore due to the adjustment of the size of the menu to account for the size of the desktop. Task-number: QTBUG-23507 Change-Id: Ib6bb7a5572bc0fbbf3de6dac03a08b69404804a3 Reviewed-by: Pierre Rossi <pierre.rossi@nokia.com>
* Fix Windows timer performance regressionJonathan Liu2012-02-161-1/+1
| | | | | | | | | | | | This fixes a Windows timer performance regression caused by 74251fb0fc57b1e0f7db0b561e4aa4c0347f6f37. This regression causes a degradation in timer precision which can cause animations to not be as smooth as well as negatively impact timing sensitive code. Change-Id: I2821fde66799a5b1e9994e823a7dc56c91148742 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Don't render glyph with FT with fetchMetricsOnlyJiang Jiang2012-02-151-1/+1
| | | | | | | | | Neither rendering with outline nor fetchMetricsOnly requires the rendering from FreeType so we don't need to render them or cache it. It should speed up recalcAdvances() quite a lot. Change-Id: Ic322507d54ab59020851e359088a4afa4e03c8db Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Abort FTP download, not the whole applicationShane Kearns2012-02-151-5/+1
| | | | | | | | | | An old coding error meant that the C runtime abort() function was being called instead of QFtp::abort() when cancelling an FTP download using QNetworkReply::close() Task-number: QTBUG-22820 Change-Id: Ib97fda9769b2b55a08c042c66c4444cb6216d2b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix online status checking in generic bearer plugin.Xizhi Zhu2012-02-151-1/+1
| | | | | | | | | | | | | QNetworkInterface::IsUp means the interface is up, but not necessarily connected. QNetworkInterface::IsRunning means the interface is up and connected. Cherry-picked from Qt5 / QtBase commit: c93ac6758606f64af7fe2bac6c8bb08391d218a7 Task-number: QTBUG-22873 Change-Id: Ieb544058814520b4292b496de2e4672214f3d00a Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* QDial: Fix crash when singleStep-property is 0.Friedemann Kleint2012-02-151-1/+3
| | | | | | | Task-number: QTBUG-23072 Change-Id: I296b46af23420b24fa5460b9660e33bf203ea29f Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
* Checking for directory exists in failed QDir::mkpath on SymbianMurray Read2012-02-151-2/+9
| | | | | | | | | | | | | | QDir::mkpath should return true if the directory already exists. In the new native Symbian implementation, RFs returns KErrPermission denied when you try to access some data caged directories such as C:\private. This was being interpreted as failure, as the code expected KErrAlreadyExists for the case where the directory exists. In this circumstance we now check if the directory already exists. Task-number: ou1cimx1#974477 Change-Id: Ie476219bc963c23d3c7e1773ebded8ecf137fd3c Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Fixed memory leak in QPA/Lighthouse event handling.Samuel Rødal2012-02-141-0/+1
| | | | | | | | | | | | The WindowSystemEvent class needs a virtual destructor, or sub-classes with non-POD members will leak memory and their member's destructors don't get called. This is a backport, the bug was already fixed in Qt 5 as 4ab6860172e14b0047e56ab. Change-Id: I2766fcea955a6cbc7613b717c76e13674943d6a9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Build break fixAri Lehtola2012-02-141-1/+2
| | | | | | | | | | Public SDK breaks because of missing definition of GfxTransEffect in commit Ia8d0544ec30741605efd6f7db035bcea2f36e67a Symbian specific flag added Change-Id: I972bf207d7854be1bc77bba6ae4ef8155279b1b3 Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Initializes seqDumpPos on qiodevice.cppNick Ratelle2012-02-141-1/+2
| | | | | | | | | | | | | | | This was spotted by RIM static code checking team. seqDumpPos is a dummy variable which is only used on sequential mode. It is used as a simultaneous storage area of both pPos and pDevicePos when in sequential mode, to keep both in sync. They just suggested that it would be a good practice to initialize the variable, since it does not have any side effect, and there's not much value on not doing it. cherry-picked from qt5/qtbase: e7e87993042ac9a4fd899da5ea0340322b47d9ff Change-Id: Ib0d3299b03de9df539567c92bda5e6fe9f95ba7a Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
* Fixed compiler warning about unused variable with QT_NO_TEXTCODEC.Andreas Holzammer2012-02-111-0/+3
| | | | | | | Task-number: QTBUG-22512 Change-Id: I3a6605ce19ac8def6a4fdfbf2904f7c165cbfc8e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Added QAccessibleGroupBoxJosé Millán Soto2012-02-104-18/+147
| | | | | | | | | | | | Added a new accessible interface for QGroupBox, as QAccessibleDisplay is not good enough when the QGroupBox is checkable. AccessibleFactory was modified to return a QAccessibleGroupBox when the accessible interface of a QGroupBox is requested. Created tst_QAccessibility::groupBoxTest Change-Id: I6c23dcf5562b3ea269b04102e78463b65827188a Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Symbian: Fix for VKB default language to English in RTL variantSatyam Bandarapu2012-02-101-1/+1
| | | | | | | | | | | Currently VKB default language to English in RTL variant is supported only for email characters and url characters only. Now changed to available for all input methods if application sets the flag. Task-number: ou1cimx1#961176 Change-Id: I86e351ea0b829cc4f7c8163863102f9680fd7f55 Reviewed-by: Murray Read <ext-murray.2.read@nokia.com> Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Raise loopLevel for deleteLater in event filtersJohn Stanley2012-02-103-12/+16
| | | | | Change-Id: I163f510f6e99d86a35cc78965fa383e7f4618f42 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* When doing mouse move compression, pass non-MotionNotify events to installed ↵John Stanley2012-02-101-1/+4
| | | | | | | event dispatcher event filters Change-Id: Ia71f23458b9a6bc728f3e05592f530e317ae453c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Pass events to installed event dispatcher event filters before passing them ↵John Stanley2012-02-103-13/+25
| | | | | | | | | | | to x11ProcessEvent() Change-Id: If551c732b520b0105a3d4578db1b039c1b5d49fd Pass events to eventFilter first Change-Id: If551c732b520b0105a3d4578db1b039c1b5d49fd Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* QTextEngine - treat a fullstop (0x2E) as the same script as the preceeding ↵John Tapsell2012-02-101-1/+14
| | | | | | | | | | | text when dividing up strings Many languages use a fullstop to indicate an abbreviation, making the fullstop part of the word. For languages like thai, it is required to pass the fullstop along for correct word breaking. Change-Id: Ideded63432d06a1ab3b786a7bd13356f2cc1a090 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Harfbuzz-thai: Hide ZWJ and ZWNJ characters and show Inherited charactersJohn Tapsell2012-02-101-3/+8
| | | | | | | | | | | | | | | | | | | | | | Thai is not supposed to have ZWJ and ZWNJ characters or any other of the Inherited Unicode Scripts (http://www.verisigninc.com/assets/idn-inherited-unicode-script.pdf) - they don't have a mapping to the thai encoding tis620 which libthai requires. However it is an unfortunate fact that there are many websites etc that liberally place these ZWJ and ZWNJ characters throughout thai text to force word boundaries, so we must also deal with them. We deal with all Inherited characters by mapping them to the invalid code ~0 in tis620 encoding, following what libthai does internally in its own tis620 encoding functions, and then replacing this character with the original unicode and setting dontPrint to true to hide the ZWJ and ZWNJ characters. Includes a unit test to check the behaviour. Change-Id: I49e44da6e39443daa832e7f50c94804e13deabb4 Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Harfbuzz-thai - When calling HB_OpenTypePosition we must set doLogClusters ↵John Tapsell2012-02-101-1/+1
| | | | | | | | | | to true for thai This bug resulted in word wrapping not working correctly for thai. Change-Id: I676deb12258beb224736414712a32e23513f406e Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix crash in qt_init when the XFIXES extension is not available.David Faure2012-02-101-0/+8
| | | | | | | | | | | | This happened to me when starting a Qt4 application in VNC (vncserver, vncviewer -via host, on linux). The pointers to the xfixes functions were not being set to 0 when XFIXES is not available, so it would crash later on in the method, in the (null-checked) use of X11->ptrXFixesSelectSelectionInput. Change-Id: Icbeec16e211790ea9d8ebe7e2d96c7a8021214cd Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fixes a possible out-of-bound write in QByteArray.Nick Ratelle2012-02-091-6/+11
| | | | | | | | | | The QByteArray::QByteArray(int size, Qt::Initialization) constructor does not validate the 'size' parameter, allowing for negative values, for example. Use shared_empty on QByteArray(int, Qt::Initialization) for future compatibility. Change-Id: I25ba1918faa53eaaf3564c57cf28a27f93c42922 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* realpath(X,0) IS supported on QNX.Nick Ratelle2012-02-091-1/+1
| | | | | | | | | | | Adds check for Q_OS_QNX to force QFileSystemEntry QFileSystemEngine::canonicalName() use realpath(X, 0) on QNX as well. cherry-picked from qt5/qtbase ee592fc042efc19acbc5407f5277abe7372c138d Change-Id: I715b1a226cc89831333f70a295c5d269bf6a8baf Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix QListView::scrollTo() when there are hidden rowsJani Honkonen2012-02-091-1/+6
| | | | | | | | | | | | | | QListView does not consider hidden rows when scrolling to an item. If there are hidden rows (or columns) before the selected item then the visual index of an item is not the same as the row index from the model. So scrolling will be off by the number of hidden rows before the selected item. Added a autotest for this also. Task-number: QTBUG-21115 Change-Id: I49c39033d83f80d4405b59510617096029ee6d3b Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Avoiding early deleteLater in Symbian with better loopLevel trackingMurray Read2012-02-094-21/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | There have been a number of app crashes where deleteLater has been triggering too early, causing an object to be deleted before it has been finished with. This was happening when deleteLater was issued then Symbian's active scheduler loop was nested. Qt keeps track of loop nesting level to implement deleteLater correctly, but it was only tracking the event loop in processEvents and QEventLoop correctly. The wakeup and timer active objects were assuming they were always run from processEvents and its round robin active scheduler and were adjusting the loop level to account for this. However if they happened to run in another event loop, eg the active scheduler, the loop level adjustment meant that it looked like the event loop was re-running at the same level, which allowed deleteLater to act. The fix is to mark active objects as being run from the RR scheduler, then the wakeup and timer active objects can be tested to see which type of scheduler they are actually running in. With this knowledge, the correct loop level adjustment can be made, and deleteLater runs at the correct time. Task-number: ou1cimx1#947013 Change-Id: Id05cd63ad10e100ea807cc276844aaa36c614351 Reviewed-by: Gareth Stockwell <ext-gareth.stockwell@nokia.com> Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
* Harfbuzz-thai - fix to_tis620 function for latin charactersJohn Tapsell2012-02-091-1/+1
| | | | | | | | | This was an obvious typo - a missing "else" in a group of if statements. Change-Id: Iaa58e761ebdff86d4e0bc19113162f380a311f63 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com> Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Symbian: Fix for blank window after taping Editing options.Satyam Bandarapu2012-02-092-8/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This happens in FlightInfo app when menu is opened, editor lost focus and Fep manager looks for focused editor to do ccpu related tasks. It also has some partially regression from fix a2709ef3f4410a1d1755e00353e6f969f8bb5613. The regression is fixed in QCoeFepInputContext::DocumentLengthForFep by returning size to 1 only for multiline editors with no text and multiple lines presented. And also set focused editor to last focused editor when Menu is opened. Opening EditOptions shows blank window if virtual keyboard is never open before. This is because 'm_lastFocusedEditor' is null and it will set to last focused editor only when virtual keyboard open. Fixed in QCoeFepInputContext::setFocusWidget by setting 'm_lastFocusedEditor' to current editor. Above fixes causes other issue, Qt application 'actions' are never added to optionsMenu. This happens because Qt Symbian implementation assumes that default menu items are less than or equal to one, but in Qt 4.8.0 CCPU adds one more default menu item (EditOptoins) to OptionsMenu in addition to 'Writing language' menu item. Fixed by setting NumberOfItemsInPane<=2 in QS60MainAppUi::DynInitMenuPaneL. Change-Id: Idd35cbc746f06f1c64d003c0a32ef1b8f8bc3c89 Reviewed-by: Sami Merilä <sami.merila@nokia.com> Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Change bugreports.qt.nokia.com -> bugreports.qt-project.orgSergio Ahumada2012-02-096-6/+6
| | | | | | Change-Id: Ib13737eac7f7cee3ebca44aa712cb6b152672a81 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Fixed null pointer dereference in QUnifiedTimerNick Ratelle2012-02-081-6/+9
| | | | | Change-Id: I8b7ab19a98e2920fc020043088c32d073aa1d60d Reviewed-by: David Faure <david.faure@kdab.com>
* Fix bug in qatomic for INTEGRITY RTOSKalle Viironen2012-02-081-34/+57
| | | | | | | | Fixes errors in INTEGRITY qatomic pointer and int templates and wrongly defined IS_WAIT_FREE's & IS_NATIVE's Change-Id: I1ab0236bb4979c0fda6a075ca82ee618a6da40e1 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
* Fix Qt to use font with simplified chinese characters as default if neededMarko Kenttala2012-02-081-0/+8
| | | | | | | | | | | | Qt defaulted to use a font with traditional chinese characters even if system language was set as ELangPrcChinese. Fixed qfont_s60 to use a font with simplified chinese characters in this case. Task-Number: ou1cimx1#915614 Change-Id: I0258a95f6630b4fa07acc9340bb38fc67bea7b1d Reviewed-by: Sami Merilä <sami.merila@nokia.com> Reviewed-by: Murray Read <ext-murray.2.read@nokia.com> Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Fix for effects in Qt-applications startupAri Lehtola2012-02-081-0/+7
| | | | | | | | | | | This is part of the solution for reducing flickering in Qt-applications startup. Fix is effective together with changes in platform effects framework. Task-Number: ou1cimx1#951526 Change-Id: Ia8d0544ec30741605efd6f7db035bcea2f36e67a Reviewed-by: Murray Read <ext-murray.2.read@nokia.com> Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Prevent crashing on Symbian in case EGL surface creation fails.Pauli Jarvinen2012-02-084-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible in environment with limited resources, that EGL surface creation fails. When this happens, the QPainter doesn't get properly activated, which in turn caused a crash later in the drawing code. Now, a check has been added into qapplication_s60.cpp to abort window drawing immediately, if surface creation has failed. The EGL surface is then tried to be recreated on the next time when the window becomes visible, which usually allows the application to recover. In most cases, the crash happened in the function qDrawBorderPixmap, which didn't check the validity of the QPaintEngine pointer before accessing it. This method is analogous with the public methods of the class QPainter where, on the other hand, availability of QPaintEngine was always checked. To be in line, and to prevent ptential crashes, a similar safety check and warning message have now been added to method qDrawBorderPixmap. Furthermore, a null-check was added to qwindowsurface_gl.cpp for the QGLContext pointer. The same pointer was already previously null-checked in the other branch of the same function, indicating that the null-check is probably necessary. Task-number: ou1cimx1#969923 Change-Id: I6d78be72b9c2308ef74b1119d8c8ec34ec015195 Reviewed-by: Jaakko Helanti <ext-jaakko.helanti@nokia.com> Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Update accessibility selections in QTextControl.Frederik Gladhorn2012-02-081-2/+13
| | | | | | Change-Id: Iae0c2792b64b8ec2736a9ff621cf7c313a394093 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Fix access to uninitialized values in QtXmlPatternsSami Rosendahl2012-02-083-29/+14
| | | | | | | | | | | | | | | | | | | | | | | Fixes valgrind warning like below when executing tst_QXmlQuery::copyConstructor() Conditional jump or move depends on uninitialised value(s) at: QPatternist::NodeIndexStorage::operator!=(QPatternist::NodeIndexStorage const&) const (q by: QXmlItem::operator=(QXmlItem const&) (qabstractxmlnodemodel.cpp:1228) Reason for the warning is that QPatternist::NodeIndexStorage::operator!= accesses all fields of NodeIndexStorage, which are all not intialized in every execution path of QXmlItem::QXmlItem(const QVariant &) and class QPatternist::Item constructors. Fixed by adding NodeIndexStorage::reset() function that resets all fields and put a call to that function where NodeIndexStorage objects were previously incompletely initialized. Note that unfortunately class NodeIndexStorage cannot have a default constructor, because it is used as a union field. Change-Id: I686433ba552f025658f7e583226e77346db82159 (cherry picked from commit f42f82f435d738339ad85c1380d1167338517247) (cherry picked from commit 65d2458408ccda1b37e1069fd13791a60fa0c672) Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Some small doc fixes, typos and removal of one incorrect paragraphAndy Shaw2012-02-084-11/+6
| | | | | | | | The QTextStream paragraph that is removed referred to something that is incorrect. This was confirmed for Windows, Linux and Mac. Change-Id: Ibac8f82482f2060308b5b8485d6da228bdf52fe6 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Don't get stuck in a loop while trying to close the active popup widgetAndy Shaw2012-02-081-1/+1
| | | | | | | | | | | When the application is deactivated then it will try to close down the active popup widget. However, the popup widget can prevent a close from occuring and Qt should respect this without causing problems when the application is reactivated later on. Task-number: QTBUG-23448 Change-Id: Icc4902cbeac99eb631e569167227d9bcd4d4dcbb Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Handling adopted thread death with active timers on SymbianMurray Read2012-02-082-6/+23
| | | | | | | | | | | | | | Timers are thread local objects on Symbian. When the adopted thread monitor tries to tidy up a thread, any existing qt timers will be cleaned up. But that has to be done very carefully without touching the underlying symbian timer objects. Checks are added to make sure the Symbian timers are only touched in the correct thread. Task-number: ou1cimx1#960478 Change-Id: If16750b455aa576aa9f2d93657a3627d18060272 Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>