summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix backspace on empty lines with custom QML editorsAapo Haapanen2012-02-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Symbian AknFEP doesn't return backspace keypresses to the editor if the editor is empty. This causes problems for multiline editors, because AknFEP can only see one line at a time. This issue has been previously fixed by change a2709ef3f4410a1d1755e00353e6f969f8bb5613 so that QCoeFepInputContext::DocumentLengthForFep returns lenght as 1 for empty lines. The fix was then refined by change 0ffd7fcc78e27f9184a6f1ee5a8a9cc5e6266998 so that the length is altered only when the editor has multiple lines. After the latest change, if a custom QML editor didn't have a lineCount property, the code assumed it has only one line. This caused problems for some custom multiline editors. This change alters the behaviour so that if the code can't get the linecount from the editor, it assumes it has multiple lines. This reverts the code to behave like before change 0ffd7fcc78e27f9184a6f1ee5a8a9cc5e6266998 for such custom QML editors. Task-number: ou1cimx1#981078 Change-Id: I3551d1d3ca1984957465f894c8bc237544224468 Reviewed-by: Jaakko Helanti <ext-jaakko.helanti@nokia.com> Reviewed-by: Murray Read <ext-murray.2.read@nokia.com> Reviewed-by: Pasi Pentikäinen <ext-pasi.a.pentikainen@nokia.com>
* Fix a crash in QSystemLocalePrivate::uiLanguages().Friedemann Kleint2012-02-251-1/+1
| | | | | | | | | Use the correct calling convention. Discovered by the mimetype test in Qt 5. Change-Id: I79b97325dd69466885a64c238935107bf14e9a0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Port QBBRootWindow from the Qt 5 QPA plugin.Robin Burchell2012-02-255-222/+375
| | | | | | | | | This lessens unnecessary delta between the two. Change-Id: I3bb33d977573e3404dd08c2f4e396d18dd63ddc7 Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix tst-qtextscriptengine unit test when no appropriate font existsJohn Tapsell2012-02-241-0/+4
| | | | | | | | The tst_QTextScriptEngine::controlInSyllable_qtbug14204 test fails if no Devanagari font is found. Change-Id: I35cf9d788569a92daa8b370480a44f7e748ddf86 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Updated WebKit to c1252be57a3f673277c732c0902568111b2f4964Simon Hausmann2012-02-238-7/+32
| | | | | | | QNX build fix. Change-Id: I72b31faba88a569f62667f7803f6c7434ce6b15e Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* INTEGRITY mkspecs updateKalle Viironen2012-02-2311-105/+209
| | | | | | | | | | | Modifies existing structure of INTEGRITY mkspecs to be more clear and adds a new mkspec for INTEGRITY x86 target. This also moves mkspecs to supported folder as this is the case in 4.8.x. Task-number: QTBUG-24153 Change-Id: Iae893c20f88050040f7686ab2ab272c1d1af22bb Reviewed-by: Rolland Dudemaine <rolland@ghs.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Stabilize tst_qdbusabstractinterface and make it XFAILRohan McGovern2012-02-231-40/+40
| | | | | | | | | | | | | | | | | | This test was written incorrectly in a way which happened to allow it to pass most of the time (but not all the time). Reset the state of test objects between each test function, and mark the broken functions with QEXPECT_FAIL and a link to a task. Replace the unusual WaitForPinger construct with the usual QTRY_VERIFY/QTRY_COMPARE method of verifying asynchronous operations. (cherry picked from commit e88f9a92b7ab05ea9bc25083de7dee1b67dd673e) Task-number: QTBUG-24262 Change-Id: I7a1f265695c15c0f7b1867a8608827c951a6e3b9 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* 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-202-10/+63
| | | | | | | | | | | | | | | | | | | 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-202-2/+2
| | | | | | Change-Id: Ic910dc63db5625640735e2918f09c75a1d8669cc Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* tests: Mark unstable tests as insignificant on WindowsSergio Ahumada2012-02-173-2/+2
| | | | | | | | | | | | Marked the following tests insignificant due to failures, these need to be fixed later and then re-enabled: tst_qlocalsocket tst_selftests Task-number: QTQAINFRA-428 Change-Id: I294048133bac141dfd6239dba115dcc93035f868 Reviewed-by: Jyri Tahtela <jyri.tahtela@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>
* Doc fix for LinguistAndy Shaw2012-02-171-1/+1
| | | | | | | Indicate the right menu that the Batch Translation entry can be found in Change-Id: I86da9310f1672d073f7c4e207a46ecdd6757018e Reviewed-by: Casper van Donderen <casper.vandonderen@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-152-5/+25
| | | | | | | | | | 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-153-1/+98
| | | | | | | | | | | | | 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>
* tests: Mark unstable tests as insignificant on WindowsSergio Ahumada2012-02-153-0/+6
| | | | | | | | | | | | | Marked the following tests insignificant due to failures, these need to be fixed later and then re-enabled: tst_qlocale tst_quuid tst_uic3 Task-number: QTQAINFRA-428 Change-Id: I21e78e4320e28735286778125a103caf7aa45d44 Reviewed-by: Jyri Tahtela <jyri.tahtela@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-152-2/+15
| | | | | | | | | | | | | | 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>
* tests: Mark unstable tests as insignificant on WindowsSergio Ahumada2012-02-147-4/+7
| | | | | | | | | | | | | | | | | Marked the following tests insignificant due to failures, these need to be fixed later and then re-enabled: tst_qdeclarativeerror tst_lupdate tst_qfile tst_qlibrary tst_qtcpserver tst_qxmlquery Task-number: QTQAINFRA-428 Change-Id: I648f86b3ec7767f83767af8981a6ce2aed65722b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Re-enabled tst_LargeFileJo Asplin2012-02-142-1/+3
| | | | | | | | | | | | tst_LargeFile currently seems to pass in a stable way in CI It does have an issue on 64-bit Linux (see QTBUG-21175), so that test function is still disabled (QEXPECT_FAIL'ed) on that platform. Change-Id: I818046f84f2db5eb2155ae1f51f69581029bfaee Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com> (cherry picked from commit b5ef53df457d784da7221a8244963462a686458d)
* 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>
* test: Do not mark tst_qdeclarativeerror as insignificant anymoreSergio Ahumada2012-02-131-2/+0
| | | | | | | This test has been stable for quite some time now. Change-Id: I97157c4ccc8221d2ff9f54ee7ed4c66b50956c01 Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com>
* 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-105-18/+192
| | | | | | | | | | | | 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>
* test: Do not mark tst_qdeclarativetimer as insignificant anymoreSergio Ahumada2012-02-101-2/+0
| | | | | | | This test has been stable for quite some time now. Change-Id: I485ad4c904db758fa4e594ba0cd883fbe964e525 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* test: Do not mark tst_uic3 as insignificant anymoreSergio Ahumada2012-02-101-2/+0
| | | | | | | This test has been stable for quite some time now. Change-Id: I0a45af35abb263dc4ee9bcab519fda5b313446df Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* test: Mark tst_QMdiSubWindow with insignificant_test on Mac OS XSergio Ahumada2012-02-101-1/+1
| | | | | | | This test only fails on Mac, so enforcing it on Linux. Change-Id: I417a6b4fa76d267232f44009c5b8d2622cbe2f7c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* test: Re-enabled passing test in tst_qdbuspendingcallSergio Ahumada2012-02-101-2/+0
| | | | | | | | | tst_QDBusPendingCall::watcher_waitForFinished_threaded() autotest was fixed by 42004eccf246cbc110f0ad22caa85efeeeb640bb Task-number: QTBUG-20859 Change-Id: Iad3c735e07b3ef21796c3aab1211e18e621ca4d3 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* QTextEngine - treat a fullstop (0x2E) as the same script as the preceeding ↵John Tapsell2012-02-102-7/+57
| | | | | | | | | | | 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-102-3/+50
| | | | | | | | | | | | | | | | | | | | | | 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>