summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixed assert in Windows key handlingOliver Wolff2013-11-271-2/+8
| | | | | | | | | | | | | | | | | | | | | | Certain key sequences (like press alt, press left, release left, release alt) can cause an assert in qwindowskeymapper. This behavior was introduced in change I4f7709a90906b03f4504deea1ff5c361e9f94b3f (Fix virtual key mapping on MS Windows). The place that seems to cause the new behavior is changing the bitmask for obtaining the event's scancode. With the changed bitmask releasing the alt key in the given key sequence causes the WM_KEYUP event to trigger a WM_CHAR event which should not happen there. To be honest I don't know how having the extended bit inside the scancode fixes the behavior but it seems to do and I could not find another place which might cause the breakage. Task-number: QTBUG-35005 Change-Id: Ia18c2681ea311196441a5cd15017e220ac095674 (cherry picked from commit d4c548ce5c0bd8a70c82ed082bc69fd41e9c47ed) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Juan Luis Boya García <ntrrgc@gmail.com>
* Fix bug in updatePossibleKeyCodes() with dead keys and modifiersJuan Luis Boya García2013-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it was until now, QWindowsKeyMapper::updatePossibleKeyCodes() tested using ToUnicode for which characters produce a key with every possible combination of modifiers. Calling ToUnicode with a dead key is dangerous, because MS Windows keeps it in the driver buffer, so if you call ToUnicode with acute key and then you press a, you get an á. To prevent this, updatePossibleKeyCodes() checked if the key that was being tested was a dead key. If true, it inserted an space and then repeated the key in order to reset the system internal buffers to the same state they were before the call. The problem with this is if the dead key is really two keys (like ^ or ´ in US International keyboard layout) and you press one of those keys without the modifier to make it a dead key (i.e. 6 in US International): Since updatePossibleKeyCodes() only tests for the key that was pressed it gets 6 is not a dead key, and thus it does not execute the workaround. Thus, the next time the user presses 'a' they get 'â' instead because updatePossibleKeyCodes() set the dead key on the keyboard buffer and did not run the workaround. This patch makes updatePossibleKeyCodes() run the workaround if any possible combination of modifiers with the key being examinated makes a dead key. Task-number: QTBUG-33591 Change-Id: I8c0b27586f7c62798986258b1b84aa90e4c5d64c (cherry picked from commit b98a031b813a83374897b23f4f7710a238f2e7b6) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Juan Luis Boya García <ntrrgc@gmail.com>
* Fix virtual key mapping on MS WindowsJuan Luis Boya García2013-11-252-25/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | In order to map MS Windows virtual keys to Qt keys without messing with dead keys now I use the built-in keyMap structure of QWindowsKeyMapper and assert every cell in the keymap is properly updated. In order to guarantee this even when the user changes the keyboard layout, WndProc now manages the WM_INPUTLANGCHANGE message, which is handled by QWindowsKeyMapper, resetting the layout structure. I don't fully understand yet some things about QWindowsKeyMapper, i.e. how QWindowsKeyMapper::updatePossibleKeyCodes workarounds the dead key issue with ToAscii; but it seems to work fine in all the tests I've done. Any further testing is highly appreciated, though. [ChangeLog][[QtGui][Platform Specific Changes][Windows] Fixed virtual key mapping on Windows. Task-number: QTBUG-33409 Task-number: QTBUG-8764 Task-number: QTBUG-10032 Change-Id: I4f7709a90906b03f4504deea1ff5c361e9f94b3f (cherry picked from commit f0d014a16b5c9b55245834459c46ea34d15d14be) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QThread: Fix link to snippet in documentationJonathan Liu2013-11-221-1/+1
| | | | | Change-Id: Ie27b3ae36dcf98cef4b612387aff448bc0421d29 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Multimedia: Fix MinGW-warning about assigning NULL to int-type.Friedemann Kleint2013-11-211-1/+1
| | | | | Change-Id: I58fc7628845ed0733b79af5ab89c360ab8a12863 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix signature of the waveInProc/waveOutProc callbacks.Friedemann Kleint2013-11-214-4/+4
| | | | | | | | | | | Parameters are DWORD_PTR instead of DWORD, which did not matter on 32bit but caused MinGW64-compiler warnings and potential crashes on 64bit. Change-Id: I840ae3ea7ea532746f73f20b3233cae842931d45 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> (cherry picked from qtmultimedia/699a5d75aab2de7e2c341be8533446597bee355e) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QLocale: Fix infinite loop in error caseEl Mehdi Fekari2013-11-201-5/+12
| | | | | | | | | | | | | | | QBBSystemLocaleData emits qwarnings when it fails to open or read a pps object. If the user code installs a message handler that will invoke QLocale API again (i.e QDate, QDateTime, ...) then this will cause an infinite loop, where the QBBSystemLocaleData ctor() is calling itself. This patch logs the QBBSystemLocale's warnings to stderr and skips the Qt message handler. Cherry-picked: qtbase/1e446fc99167a992b1a8342168b6254f43b097fe Change-Id: Iff99973532e0cba752854e325d0cd987765547d9 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Threads: Fix mingw-gcc warning about 'cast to pointer from integer of ↵Kai Koehne2013-11-201-4/+4
| | | | | | | | | | | | different size' Use reinterpret_cast to convert from DWORD to pointer. Change-Id: I17a12940850aeb0bc27080725a18eb93fee72ff7 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> (cherry picked from qtbase/edfdaba696d94206794203f9621d7e3aa8e5ab26) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QUiLoader/Designer: Fix gcc 4.8 warnings about unused typedefs.Friedemann Kleint2013-11-202-4/+0
| | | | | | Change-Id: I792f3060c808ef860b31b47b3b00e5ac1991eedd Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com> (cherry picked from qttools/3455a96c6728873a3ba69585ebb27bf8e733c0f9)
* Make sure .qch file is opened read-onlyKai Koehne2013-11-191-0/+1
| | | | | | | | | | | | | | So far qsqlite tried to open the file first read/write, and falling back to read access only if this fails. This has resulted in excessively long loading times e.g. on Windows XP. Task-number: QTCREATORBUG-10697 (cherry-picked from commit 0bf84aa7873edd7bb411fabb94481b03d1501c68 in qttools.git) Change-Id: I94be15e2d7c5845bcadf6b32e54462a7c1bcb98a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Kernel: Fix gcc warning in qsharedmemory_win.cppKai Koehne2013-11-181-1/+1
| | | | | | | | | | Fix gcc 4.7 'arning: converting 'false' to pointer type 'HANDLE {aka void*}' [-Wconversion-null]' Change-Id: I28d890d5fd4975517a9329d68c9ef73f6fadf36c Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> (cherry picked from qtbase/baf8a2fbf710314096832b0ee5735ffdc8b24210)
* qsimd: Fix compilation with MinGW 64.Friedemann Kleint2013-11-181-1/+1
| | | | | | Task-number: QTBUG-34856 Change-Id: Ie1dbeb5787e1a60aeaca585160319bbe0943e2cb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix MinGW-warnings about narrowing/invalid conversions.Friedemann Kleint2013-11-183-3/+3
| | | | | Change-Id: I9b49dd6d12a5e59c6f2674ab3c82a8a7ec583775 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* MinGW: Fix warnings about assigned but not used variables.Friedemann Kleint2013-11-183-9/+0
| | | | | Change-Id: I114483273db0f9ffe0527b4a3e4cd881375a3448 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QObject: use per-thread storage for qFlagLocation()Marc Mutz2013-11-162-14/+28
| | | | | | | | | | | | | | | | | | | | | qFlagLocation() uses a global char* array to transport source location information from the connect() side to the metaobject side. The size of the array is 2 (two), which just about suffices for a single connect() statement. Obviously, if more than one thread makes a (_any_) connection at the same time, the data is useless and, worse, there's a data race. The non-reentrancy of qFlagLocations() cannot and need not be fixed, but use a per-thread flagged_locations array in QThreadData so threads don't disturb each other. Task-number: QTBUG-3680 Change-Id: If1797c60751f551694def69afee6fbe295bbe2d2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> (cherry picked from qtbase/c012ee2940bc087720b4aa0d257540921cf9a139) Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fully expand entities to ensure deep or widely nested ones fail parsingMitch Curtis2013-11-152-26/+37
| | | | | | | | | | | With 512a1ce0698d370c313bb561bbf078935fa0342e, we failed when parsing entities whose partially expanded size was greater than 1024 characters. That was not enough, so now we fully expand all entities. This is a backport of f1053d94f59f053ce4acad9320df14f1fbe4faac. Change-Id: I41dd6f4525c63e82fd320a22d19248169627f7e0 Reviewed-by: Richard J. Moore <rich@kde.org>
* When reparenting a widget, children need to reregister as a drop siteAndy Shaw2013-11-151-1/+11
| | | | | | | | | | | If a widget is a drop site and an ancestor gets reparented then the widget needs to be reregistered as a drop site so that it is correctly associated with the new native parent widget. Task-number: QTBUG-30276 Change-Id: I440077e54f614d0bfbaef46104de6598411c986b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QThreadPool: fix race at time of thread expiry.David Faure2013-11-153-22/+34
| | | | | | | | | | | | | | | | | | | | | | The current synchronization mechanism was racy: decrementing waitingThreads and then hoping that the wakeOne will wake a thread before its expiry timeout happens. In other words, on timeout, a just-assigned task would never run. And then no other task would run, if maxThreadCount is reached. Fixed by using a queue of waiting threads (rather than just a count), and by moving the wait condition into the thread itself, so we know precisely which one we're waking up, and we can remove it from the set of waiting threads before waking it up, and therefore it can determine on wakeup whether it has work to do (caller removed it from the queue) or it expired (it's still in the queue). This is reliable, whereas the return value from QWaitCondition::wait isn't reliable, when the main thread has already decided that this thread has work to do. Task-number: QTBUG-3786 Backport from qtbase/a9b6a78e54670a70b96c122b10ad7bd64d166514 Change-Id: Ic766ff67dea7a8bb8f1bc893943060ee5428d782 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QThreadPool: fix counting of waiting threadsDavid Faure2013-11-152-2/+82
| | | | | | | | | | | | | | | | | | | | QTBUG-21051 has a testcase where activeThreadCount() could actually end up at -1 (converted to an autotest in this commit). The reason was: start() calls tryStart() which returns false due to too many active threads (reserveThread() causes this), so it calls enqueueTask() - which actually wakes up the waiting thread, but it didn't decrement the number of waiting threads. Note that tryStart() is "if I can grab a waiting thread, enqueue task and wake it" while start(), in case tryStart() fails, wants to "enqueue, and then if I can grab a waiting thread, wake it". This is why enqueue shouldn't wake; waking must happen only if we can grab a thread (d->waitingThreads > 0). Task-number: QTBUG-21051 Backport from qtbase/dacf9961da86751a59da0e84bc943fe0d1c8d95b Change-Id: I1e437da27b733a72b48ff1b6f2b78f81a7ed129b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QThreadPool: fix data races in activeThreadCount()David Faure2013-11-151-5/+3
| | | | | | | | | | | | | | | | | | | | Rather than trying to make it lock-free (which requires double-bookkeeping of 4 atomic ints!), just lock the mutex before calling it. tst_bench_qthreadpool shows no difference whatsoever between the two solutions, I get 0.005 msecs per iteration in startRunnables(). Of course looping over calls to activeThreadCount() is a bit slower, from 0.0002 msecs per iteration to 0.00027 msecs, i.e. 35% more. But polling activeThreadCount() from the app is a really wrong thing to do anyway, this benchmark was just for my own curiosity about the price of a mutex in a function that sums up 4 ints. What matters is start() performance, which is unchanged (0.00007 msecs is just noise compared to a 0.005 total, that's 1.4%). Backport from qtbase/85b24bb2dea97c3a9b013bacd5a422b26fe5d14b Change-Id: Id32791069bc1e2dd61cef708d5287c9f9b7e5582 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QThreadPool: fix typosDavid Faure2013-11-151-12/+14
| | | | | | | | Task-number: QTBUG-31919 Backport from qtbase/37dc44d499884bd0d7ab9d2f1547db468c9fe53b Change-Id: I9496b059ed201da6b7a5ec02c4acb8f231e40c30 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QWizard: provoke 'enum value not handled in switch' warnings in ↵Marc Mutz2013-11-151-1/+13
| | | | | | | | | | | | object_name_for_button This is strictly speaking a behavior change, since we're no longer returning something for Stretch and NoButton, but - guessing here - that shouldn't matter. Yet, better safe than sorry, thus submitted as a separate patch. Change-Id: I20cb084147f8c9257ce37d1e87ea38febabec28d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> (cherry picked from qtbase/269590516d89a35ea3121366f7d4bf43b0d391ca)
* QWizard: give all buttons an objectNameMarc Mutz2013-11-152-13/+58
| | | | | | | | | | | | | Only Commit, Finish and Cancel didn't have an object name, yet. Also Extract Method on the switch statement, add a test, and use QStringBuilder. Task-number: QTBUG-29924 Reported-by: Leo Arias Change-Id: I8c29606bc53e9d4caab631da2089e971a9da2d75 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> (cherry picked from qtbase/1ea191276ea49ce2334d21b1f4a2c66ee8889466)
* Optimize macDisplayColorSpaceMorten Johan Sørvig2013-11-145-18/+41
| | | | | | | | | | | | On 10.9, getting the display based on the rect is slow(er). Use a window -> color space cache instead of a display -> color space cache. Change-Id: If40a6d089019a54ceb724b8007adaffea89c96fb Task-number: QTBUG-34358 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Designer: remove dead code in ↵Marc Mutz2013-11-121-3/+0
| | | | | | | | | | | | | | QStackedWidgetPreviewEventFilter::updateButtonToolTip() The local variable 'className' is no longer used, since at some point in time, it was replaced with the query stackedClassName(), a file- static function. So remove the code that sets it. Change-Id: I2ee7dedc66acfa10949b628499c52f87dab02e7a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> (cherry picked from qttools/c98012e7a6b6287ec13b8ca4a4d08ed584f7ee8a)
* Update Hebrew translationGenghis Khan2013-11-112-2927/+6121
| | | | | | | | Started-by: Diego Iastrubni <diegoiast@gmail.com> Change-Id: I32932ec0b5b1c96ef5f18da0297ef646c5780c24 Reviewed-by: Genghis Khan <genghiskhan@gmx.ca> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use the correct system font on OS X Mavericks.Jake Petroules2013-11-112-2/+10
| | | | | | | Task-number: QTBUG-32789 Change-Id: I7b1988d5f74e5becd2e02274fae4d2bcc8140901 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Active Qt: Remove invalid memset()-call.Friedemann Kleint2013-11-111-1/+0
| | | | | | | | | It uses the wrong size and is not need since the subseqent memcpy-call overwrites it. Task-number: QTBUG-34722 Change-Id: Ic1662454cd76a98eff11f52ad6a847c3402e37c3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Qt Designer: Implement property() for QAxWidgetPropertySheet.Friedemann Kleint2013-11-112-0/+10
| | | | | | | | | | | | Access the control property of the QAxWidget directly. Task-number: QTBUG-34592 Change-Id: I7d0971ad8fc265d0443da7ae72330e2b7f3a8d70 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> (cherry picked from qttools/611ac50c1ed80bd6c6c15f2b39e720b6f7c1acb8)
* Cocoa File Dialog: Remove sandbox-ufriendly QDir::entryList() callGabriel de Dietrich2013-11-081-18/+48
| | | | | | | | | | | QDir::entryList() uses QDirIterator, which itself uses QFileSystemEngine, and whose backend uses POSIX API in a relatively liberal way. This is a backport of Qt 5's Ia872b9b1244f7b390d173a498011379b9309b3c6. Task-number: QTBUG-34012 Change-Id: I0a17359510e7623b4ee53dd86bb5bdc39785600e Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Disallow deep or widely nested entity references.Mitch Curtis2013-11-075-0/+147
| | | | | | | | | | | Nested references with a depth of 2 or greater will fail. References that partially expand to greater than 1024 characters will also fail. This is a backport of 46a8885ae486e238a39efa5119c2714f328b08e4. Change-Id: I0c2e1fa13d6ccb5f88641dae2ed3f28bfdeaf609 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* BlackBerry: Prevent superfluous removal of socket notifiersBernd Weimer2013-11-061-12/+11
| | | | | | | | | | | | | | | File descriptors have always been removed from bps before adding them, which lead to an annoying warning. "QEventDispatcherUNIX::registerSocketNotifier()" needs to be called after "ioEvents()" to prevent this. Back-port of qtbase/e9c51a1fdc9092e5589fd6f823ad0e704e293c88 Task-number: QTBUG-34536 Change-Id: I767a15cb2883bc820da5c858613ffb26abc002e4 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Petr Nejedlý <pnejedly@blackberry.com>
* Correct QToolBar layout on retina displays.Morten Johan Sørvig2013-11-051-0/+5
| | | | | | | | | | QStyleOptionToolButton::iconSize will be 2x on retina displays. The layout size should not be 2x however, that causes excessive spacing in the toolbar. Task-number: QTBUG-34484 Change-Id: I48cf47044af5b76f39e08c1d580034b84ef2755d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QPdfEngine - Remove Producer copyright noticeSamuel Gaist2013-11-041-1/+1
| | | | | | | | | | | | | | Remove the copyright notice from the PDF Producer field which could be misunderstood. Comparison to other PDF Producers shows no other company does this. Based on https://codereview.qt-project.org/#change,70182 Task-number: QTBUG-33853 Change-Id: I3a2820c1466963e7391b4a9a729c7261a3582e0b Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
* Expose QTest::currentAppName() and remove hard-coded argv[0] in testsSamuel Gaist2013-11-046-34/+68
| | | | | | | | | | Except where we're actually testing QCoreApplication::applicationName() and friends. Based on a3530859e9a7423db0b6839f15538f248aaf4a79 Change-Id: I36ef8cbb5d8bce45225a7f81409f46f1d584287b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Backport of Qt5 applicationName handlingSamuel Gaist2013-11-022-7/+18
| | | | | | | | | | | | | Currently applicationName returns an empty value unless the user explicitly sets it. Qt 5 is smarter and get the name either based on the application arguments or a platform specific way (e.g. OS X using the menu bar name) if the user didn't set it. Based on f04b46f34e9446417cd5681f511332344679ef30 and 696060134d10d44175970ffd38618544ecdd9387 Change-Id: Ifc17cf4a74fed8cfabb46b3540dfbd64a5452640 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix tab-completion for variables that have digits in themAndy Shaw2013-11-011-1/+1
| | | | | | | | | | In the QtScript Debugger if a variable had a number in it then it would not tab complete to show the member variables. This accounts for digits so that it is correctly able to find the variable to complete on. Change-Id: I4fe0b3b776aba0e3caa6dd524c1a0c59421ea515 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> (cherry picked from qtscript/925f1264c590c12aaa5f93a687c7b2aba4370115)
* Make QCoreWlan plugin compile on 10.9Morten Johan Sørvig2013-10-312-177/+1009
| | | | | | | | | | | | | | Backport of 79ccb4fc from Qt 5: We take the path of least resistence and keep the old API code for 10.6 while updating the code for 10.7 and newer. This means we have some code duplication. It also means that we only compile the 10.6 code for QCoreWlanEngine when the deploymen target is 10.6. The 10.6 version file should be removed once we drop support for Snow Leopard. Change-Id: I07284a2579ba127abdca660ad4b8573576756399 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Keep web fontdata alive as long as CG uses itAllan Sandfeld Jensen2013-10-311-2/+10
| | | | | | | | | | | With OS X 10.9 font decoding appears to happen lazily, this means we have to ensure the data we provide CG is kept alive until CG dereferences it itself. Backport of 89ab2671051671ecf440ba480caf0b6b6768b1a9 Change-Id: I29d5bf9d6efac4668ea2c85fa5393ed1c1e621b5 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Fix resetting of string properties.Friedemann Kleint2013-10-311-0/+6
| | | | | | | Task-number: QTBUG-34171 Change-Id: Ib5fe8194d891eb999e41bafde19834be56c84103 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com> (cherry picked from qttools/78d8ee2513bdf52da2e0141be93dfe7bab8a1488)
* BlackBerry: improve BPS event lifetime managementJonathan Hoffmann2013-10-312-2/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QEventDispatcherBlackberry::select(), if an event handler called through filterEvent() starts a nested event loop by creating a new QEventLoop, we will recursively enter the select() method again. However, each time bps_get_event() is called, it destroys the last event it handed out before returning the next event. We don't want it to destroy the event that triggered the nested event loop, since there may still be more handlers that need to get that event, once the nested event loop is done and control returns to the outer event loop. So we move an event to a holding channel, which takes ownership of the event. Putting the event on our own channel allows us to manage when it is destroyed, keeping it alive until we know we are done with it. Each recursive call of this function needs to have it's own holding channel, since a channel is a queue, not a stack. However, a recursive call into the select() method happens very rarely compared to the many times this method is called. We don't want to create a holding channel for each time this method is called, only when it is called recursively. Thus we have the instance variable d->holding_channel to use in the common case. We keep track of recursive calls with d->loop_level. If we are in a recursive call, then we create a new holding channel for this run. Backport from qtbase/5cc76dae7e985a7a39d839524dc8ad6475e597f3 Change-Id: Ib3584676d2db5a9a3754a1535d5fb6c9e14f5dbc Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* network: fix multi-phased NTLM authenticationPeter Hartmann2013-10-311-2/+3
| | | | | | | | | | | tested manually with internal NTLM proxy. Patch-by: Jonathan Lauvernier <Jonathan.Lauvernier@gmail.com> (cherry picked from commit 338da730e8bc23e227e26b094cba6bb6233c42de) Change-Id: I889056545b60deccf55053c2b41ecb1ea0cba62d Reviewed-by: Richard J. Moore <rich@kde.org>
* Revert "Return the correct system font on OS X Mavericks."Jake Petroules2013-10-301-7/+0
| | | | | | | | | This fix is broken and a working solution will replace it shortly. This reverts commit 7c4c43afb36449c9fb2d281327423df8eb916d64 Change-Id: I764e7da6e7a52916b87650483271d9aed099ed2b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QLocale: Update Portuguese and Greek locales dataEl Mehdi Fekari2013-10-293-1118/+1161
| | | | | | | | | | | * Update timeFormat for Portuguese/Brazil locale. * Update abbreviated day names for Greek locale. Note: Those locales are already fixed in the recent CLDR v23.1 data used in Qt 5.2. Change-Id: I351e3a9ae65dcff4ab6b4787242141c3c9d86e24 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QLocale - Fix Mac date format code translationJohn Layt2013-10-282-33/+77
| | | | | | | | | | | | | | | | | | Mac uses the CLDR format codes which need to be translated into their Qt equivalent. The existing code mistranslates the year code, is outdated for a number of new codes introduced in recent versions of CLDR, and by default accepted any codes it didn't recognize. This change updates support to the latest version of CLDR, fixes the treatment of years, and defaults to ignoring any new format codes added in the future. Back-ported from qtbase/77dc33dcdbe0eec8ddc9059c4e0ff9dde264c5fa Task-number: QTBUG-25057 Change-Id: Ide040eca467cfada46fb0e2010db179a76b3096a Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix the assert failure in QShortcutMap::findGatis Paeglis2013-10-271-0/+3
| | | | | | | | | | | Don't send Qt::Key_unknown down the shortcut handling pipe, because unknown keys are not part of a shortcut sequence and results in an assert. Task-number: QTBUG-30871 Change-Id: Idd451fb793bd07124a96d75ed7b936f7ff584f28 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> (cherry picked from qtbase/c5a6b894e7484544c44a8a415a84e196c4b633c3)
* Introduce Windows version 8.1 and detect by checking the version.Friedemann Kleint2013-10-252-3/+39
| | | | | | | | | Change-Id: I04012218c34f7a95a87fcf2dc7fc095f0e743e67 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> (cherry picked from qtbase/dff6d73d6c37c40790d90bfdf3cb2f6e75c5bfa4)
* Fix compilation of Qt Script with MSVC 2013.Friedemann Kleint2013-10-251-2/+2
| | | | | | | | | Starting with MSVC 2013, more functions are provided. Change-Id: Iabbc9a94e7ed01584baaa1bb17c06e41ac70830f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> (cherry picked from qtscript/24d678ce9c3996f46d1069c2b1193e7ec1083fc8)
* Fix misaligned selection region with text when centeredJonathan Liu2013-10-231-5/+14
| | | | | | | | | | | | | | If the text is centered, the x/y position in the selection QRectF may be a multiple of 0.5 which is rounded up. This rounding causes misalignment of the selection region with the text. The alignment is fixed by using qFloor on the x and y components. Task-number: QTBUG-34218 Task-number: QTBUG-34234 Change-Id: I4f2fadeb38602f62a93773c6e5faecf03b28069f Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> (cherry picked from qtbase/5d8a882c11201a29475c5ea71cfb76c9de6573f5)
* correctly fix compilation of NEON_ASM sourcesOswald Buddenhagen2013-10-181-2/+9
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7a6cee83e15ab8e0b84603d100cafda7a592b126, as assembler files in SOURCES break compiling with -pch, as we don't create a respective PCH. instead, compile assembler code with QMAKE_CC, not QMAKE_CXX. the reason why this change is needed in the first place is not clear to me, but i guess that CXX defines some c++-related macros when preprocessing the file, which breaks further down the line. this is counter-intuitive, as the g++ frontend should treat the same sources the same way as the gcc frontend (differences should be limited the the ld invocation). (partial cherry-pick from qtbase/77196b9dc3caa7dda1072a64ed953bf7231b1af3) Task-number: QTBUG-29765 Change-Id: Ic0116b3a5fa621f12ac41cadf3062ff00b538e85 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>