summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove extra semi-colons: clang doesn't like itThiago Macieira2015-03-261-8/+8
| | | | | | | qdebug.h:373:81: error: extra ';' outside of a function is a C++11 extension [-Werror,-Wc++11-extra-semi] Change-Id: Iee8cbc07c4434ce9b560ffff13cb759805b64dfc Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Update strtoll and strtoull from upstream FreeBSDThiago Macieira2015-03-262-215/+55
| | | | | | | | | | | | | | | There appears to be at least one fix, related to sign- or zero-extension in the call to isspace(). So it's a good idea to update again. This also brings the behavior to match strtoll and strtoull on Linux, including the fact that strtoull will parse negative numbers. For that reason, qstrtoll and qstrtoull are now wrappers that try and keep the behavior that we used to have. This update also changes the code from a 4-clause BSD license (bad) to a 3-clause BSD license (good). Change-Id: I73b01b02ebd1551bf924599d52284ad25cc1def0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QtOpenGL: Fix const correctness in old style castsThiago Macieira2015-03-262-2/+2
| | | | | | | Found with GCC's -Wcast-qual. Change-Id: Ia0aac2f09e9245339951ffff13c946886247a98a Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Don't remove mnemonics and parentheses under non-Mac system.Debao Zhang2015-03-261-0/+2
| | | | | | | | | SHA: 8e3aacf61bcfe036acdba8fac4d07d68ff0f5ab3 is a mac only patch, but some code introduced by which is not wrapped with Q_OS_MAC. So add the missing Q_OS_MAC here. Change-Id: I748d46b977740e6116dab5659ad1e47d23262a0f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* iOS: Implement basic QPlatformOffscreenSurface subclassTor Arne Vestbø2015-03-251-1/+15
| | | | | | | | | | | Offscreen surface support was added in fb3577039ca8, as the platform supports FBOs, but we need to return a subclass of QPlatformOffscreenSurface that returns true for isValid() and a valid surfaceFormat(). Task-number: QTBUG-39759 Change-Id: If6aa9ee1672984bb93a01a5323af8d93b3b0f2b8 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Add a section about QOpenGLWidget alternativesLaszlo Agocs2015-03-251-0/+17
| | | | | | | | | QOpenGLWindow with createWindowContainer() can be an option for desktop-only apps in some special cases. Document this. Task-number: QTBUG-45192 Change-Id: I7c59b7d04d6c0fe58ffe93ac72b204103bef2f4c Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Avoid crashing in the vao when not supportedLaszlo Agocs2015-03-251-6/+7
| | | | | | | | | | | | | | The stored context pointer has to be reset to null in destroy() even when no VAO was created (vao is null). Otherwise destroying the context that was stored in the VAO will not lead to resetting the stored pointer, and a subsequent destruction of the VAO object will try to dereference it. Task-number: QTBUG-44562 Change-Id: I438bb3954d4bbd8b8d8704f6087479804f0073a7 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Resize backingstore properly on devicePixelRatio changesPaul Olav Tvete2015-03-251-6/+17
| | | | | | | | Task-number: QTBUG-45076 Change-Id: Ib2f2408abf7bd0b6d1c8a05fbbdc665e77ea6392 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Proper geometry conversion for devicePixelRatio > 1Paul Olav Tvete2015-03-251-1/+6
| | | | | | | | | | | | Rounding the bottom right corner position means that the size can change when the window moves. For windows we need to round the size up in order to have a stable geometry. Task-number: QTBUG-45076 Change-Id: I9a85a5915bfec55b0a7295be137b6fbfd7b53095 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Ensure that CSS rules are inherited from the parent tagsAndy Shaw2015-03-253-66/+233
| | | | | | | | | | | | | | | | When CSS is set in a head tag then it was not being inherited by the child tags when the CSS specification indicates that the properties are in fact inherited. This ensures that those properties are inherited and the non inheritable ones are unchanged. A test is added to cover the different situations with inheritance and a fix is done for the QTextDocumentFragment test which was passing despite having incorrect defaults. Task-number: QTBUG-28770 Task-number: QTBUG-34153 Change-Id: I55966240845a885852a04ecb82c61926dea9f800 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Don't replay mouse press event which closes a popup on X11Alexander Volkov2015-03-254-2/+8
| | | | | | | | | | | Add a new style hint to QPlatformIntegration: ReplayMousePressOutsidePopup. Return false for it in the xcb plugin. This commit restores the behavior which was in Qt 4. Task-number: QTBUG-34814 Change-Id: I19fee762395a51475cc67b52b368c70679ca736b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* iOS: support SH_ComboBox_UseNativePopup in fusion styleRichard Moe Gustavsen2015-03-251-0/+5
| | | | | Change-Id: I24ef41249042cd658ecba01b0024d08965673b41 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* QComboBox: use native popup on iOSRichard Moe Gustavsen2015-03-252-7/+7
| | | | | | | Enable native popup on iOS as well as OS X Change-Id: If99180a017768d9c94241adf2282ee9b3f69cbc1 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* QComboBox: change showNativePopup to be non-blockingRichard Moe Gustavsen2015-03-252-51/+81
| | | | | | | | | | QPlatformMenu::showPopup() is supposed to be non-blocking. So ensure that we don't start cleaning up the menu items directly after the call in showNativePopup, but wait until we need to reload the items, or the combobox is destroyed. Change-Id: Ie4c9b6425cec44861af38e517fc5ef226e0903c7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* qdoc: Duplicate QML types in the "All QML Types" list are distinguishedMartin Smith2015-03-257-146/+96
| | | | | | | | | | | | | We have two State types in the All QML Types list. One is in QtQuick and the other is in QtQml, but they are both just listed as "State" with no way to tell which is which. Now they look like this: State: QtQml State: QtQuick Change-Id: I48bb3deda10a61f565d1aed1910360fea4fb7891 Task-number: QTBUG-45141 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Remove obsolete stuff from the qdoc manualMartin Smith2015-03-259-104/+7
| | | | | | | | | Remove the \service and \mainclass commands, and the ditamap stuff. Also remove all reverences to these commands from qdoc itself. Change-Id: I8d150acdd56d40e6a4198a021e50f5fe3f3b1194 Task-number: QTBUG-45143 Reviewed-by: Martin Smith <martin.smith@digia.com>
* libinput: Reorganize touch frame handlerLaszlo Agocs2015-03-251-11/+15
| | | | | | | | | | Avoid showing unnecessary "TouchFrame without registered device" warnings. That should be reserved only for not having a device ready. The touch point list's emptyiness is a different story - there we should stop silently as that is not an error. Change-Id: Icdb8b352351b70a7e1af2d3a1de3001dfb751aae Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Make QAbstractProxyModel API invokable.Stephen Kelly2015-03-251-4/+4
| | | | | | | | | With reasoning similar to commit v5.5.0-alpha1~123 (Make some QAbstractItemModel API invokable, 2015-02-25) Change-Id: If0bf3a756ab1031f906c5bf9c823aafae4c3873c Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Stephen Kelly <steveire@gmail.com>
* QAbstractItemModel: Make the match() method Q_INVOKABLEStephen Kelly2015-03-251-4/+4
| | | | | | | | With reasoning similar to commit v5.5.0-alpha1~123 (Make some QAbstractItemModel API invokable, 2015-02-25) Change-Id: I77c72f7bb856a1eee966b45950384fe03a8eaac6 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Improve debug formatting of key and mouse events.Friedemann Kleint2015-03-251-5/+5
| | | | | | | | Use the debug operator for enums and flags to format keys and modifiers. Change-Id: Id748e4b2202797efcbf3a616d111399929ada8b1 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QDateTimePrivate: replace out parameters with return-by-value in getDateTime()Marc Mutz2015-03-252-35/+35
| | | | | | | | | | | | Compilers don't like out parameters. Effects on Linux GCC 4.9 stripped release builds: text -584B data +-0B relocs +-0 Change-Id: Ie00c89b9edaced3a6adeb2707734c8f5238e67c1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime: prevent aggressive inliningMarc Mutz2015-03-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function getDateFromJulianDay() is simple arithmetic, but still ~400 bytes in executable size. Yet GCC inlines this everywhere I looked, which makes some sense, as different users of the class only use parts of the return value and the optimizer has a field day removing all that dead code. However, that function has only one conditional, so presumably it executes at full pipeline speed and it doesn't matter that it calculates too much in some cases. More important is to use the I-cache more conservatively. That's what not inlining the function achieves. The function returns its result in registers and doesn't spill registers when called (at least on AMD64), so the effect on runtime should be negligible. Effects on Linux GCC 4.9 stripped release builds: text -1536B data +-0B relocs +-0 Change-Id: Ia16838102d29ad67ee5efdc8b7b0a26f2f921df1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTime: optimize toString()Marc Mutz2015-03-251-3/+1
| | | | | | | | | | | | | Instead of using a QString::arg() cascade, which creates tons of temporaries, use good 'ol sprintf(). Effects on Linux GCC 4.9 stripped release builds: text -308B data +-0B relocs +-0 Change-Id: I348577491d1399b5040f7ed9e9f6b111a9528e5d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Micro-optimize QDate::{long,short}{Day,Month}Name()Marc Mutz2015-03-251-32/+28
| | | | | | | | | Save one return statement per function. I don't see why the compiler can't fuse these itself, but apparently it cannot, since this transformation saves 72B in text size. Change-Id: I3a661456554bf451ed53110ad546946ff7b84ec5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDate: don't spend code size covering the impossible caseMarc Mutz2015-03-251-1/+1
| | | | | | | | | | | | All other similar functions in QDate just return an empty string in case none of the switch labels would trigger (which would now cause a compiler warning, after removing the default case label), so do that here, too. Saves 44B in text size. Change-Id: I80ee4975082706adcd15fe89511d08c67e149324 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDate: remove some useless default case labelsMarc Mutz2015-03-251-8/+0
| | | | | | | | | | | | They're pure whitespace, since in each case there is a fallback after the switch, anyway, and their presence prevents compiler warnings about unhandled enumeration values in switch statements, which is nice-to-have, when adding to the enum, eventually. No change in executable code size. Change-Id: I77aecaeff990601f957ec9ee827eff5ead25aaa1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Skip non-exported slots early when creating a XML interface description.Robert Griebl2015-03-251-1/+6
| | | | | | | | This will prevent unnecessary warnings about unknown types for signals or slots that are not even exported to the D-Bus. Change-Id: Iecda5beca5ebe6665a193245fe1c2578156f6abe Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Export the symbols of libdbus-1 when loading it at runtime.Robert Griebl2015-03-251-0/+1
| | | | | | | | | This allows applications that need additional symbols from the library to easily obtain them without needing to replicate the library open logic from qdbus_symbols.cpp. Change-Id: Ic65ef6684637fbcd1c9f4fe1dc7a57f0624b61a8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Accessibility Linux: Fix text attributesBoris Dušek2015-03-251-2/+124
| | | | | | | | | | | | | Orca expects text attributes with different names (and sometimes also different values) than IAccessible2 ones (which Qt uses). So adapt the names and values accordingly. [ChangeLog][Accessibility] We now report text attributes correctly on Linux, so ORCA+F now works properly in QTextEdit and other text controls. Change-Id: Iad6d38168b309669c00069a6167f4f54cbd64cf0 Task-number: QTBUG-44479 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* OS X Accessibility: Make checkboxes etc. checkable with VoiceOverBoris Dušek2015-03-253-6/+10
| | | | | | | | | | | | NSAccessibility has no explicit analog for QAccessibleActionInterface::toggleAction(), checking checkboxes/radio buttons is handled by NSAccessibilityPressAction. So ensure exposing the action properly on OS X so that VoiceOver users can check/uncheck checkboxes, select radio buttons etc. Change-Id: Idc8b048de2313a3e875a929516baf3dded9c68cc Task-number: QTBUG-44852 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Fix QAccessibleTextWidget::characterRect for off-cursor positionsBoris Dušek2015-03-251-1/+14
| | | | | | | | | | | | | | | | | | | | Current code retrieved the character format at position where the cursor currently was, irrespective of the position actually passed to the characterRect function. This is now fixed and we retrieve the character format for the QTextFragment containing the specified offset. This fixes display of visual bounds around text by screen reader in some cases. E.g. on OS X, when searching text using VoiceOver, VoiceOver first queries the visual bounds of the found text (and thus also characterRect), and only then it moves cursor position to the found text. If before the change of position the cursor was on some text with different metrics (i.e. a bigger font), the visual bounds for the found text reflected those metrics, not the metrics of the actual found text for which the bounds were drawn. This resulted in smaller/bigger rectangles around the found text than was actually correct. Change-Id: Ie2a4dfc714504b7923cdaf8ff875c438aeccddee Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Fix QAccessibleTextWidget::characterRect for complex linesBoris Dušek2015-03-251-1/+1
| | | | | | | | | | Current implementation of QAccessibleTextWidget::characterRect returned rect with correct vertical position only when the font point size did not vary inside the line. This commit makes it work for lines where point size changes by taking text ascent and descent into account. Change-Id: I4ee43701a30ce9bff1db2f2d0422227496c3df4c Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Support all underline types in accessibilityBoris Dušek2015-03-251-1/+36
| | | | | Change-Id: I9eccc66624f5d789cc8778d4376338207beb4a14 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* OSX: add another missing AutoReleasePool.Erik Verbruggen2015-03-231-0/+1
| | | | | | | No leaks no cry. Change-Id: Id44993f037447dd84e1ccd4d985877e7f57bb979 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Use glFinish() in QOpenGLWidget unless glFlush() is known to be enoughLaszlo Agocs2015-03-233-4/+39
| | | | | | | | | | | | | | | | | | | | The driver used on the Odroid-XU3 does not like doing just glFlush() before accessing the texture in another context. There is no guarantee that glFlush() is enough to sync access to resources between contexts, so start using glFinish() as the default, except on common desktop hw + iOS where flush is enough and presumably more efficient. To unify the code pathes, remove the separate flushes and do it only once, before the backingstore compositor indicates that it is about to access the textures. This should improve performance a bit, esp. when doing multisampling since we flush only once then. A helper function is added to the internal QOpenGLExtensions because it is highly likely that QQuickWidget will need the same. Task-number: QTBUG-45106 Change-Id: Ifb405c5723f29f2f6c04df8e15fb70280681755e Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* eglfs: Unblank on startupLaszlo Agocs2015-03-231-0/+4
| | | | | | | Like linuxfb does. Change-Id: Icba224d710f241d9246450c7d112ce181b992d0e Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* eglfs: Disable the blinking cursorLaszlo Agocs2015-03-232-7/+24
| | | | | | | | Make eglfs and linuxfb use the same code via QFbVtHandler. Task-number: QTBUG-45106 Change-Id: I876bbf5f13bab6d4a81f616c01f15f9c98edf5fc Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* QVarLengthArray: Do not require operator!= for element comparisonKai Koehne2015-03-231-5/+4
| | | | | | | | | | The documentation claims that operator== is needed, not operator!=. While at it, we can also replace the loop with std::equal, which might even allow STL implementations to choose a hand-optimized version of the algorithm for C++ builtin types ... Change-Id: I988b326d6af3b767526952e303468e18ff6594f9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QVarLengthArray: Add initializer_list constructorKai Koehne2015-03-232-0/+22
| | | | | | | | | | | | | | | | | Implement an initializer_list constructor, which was probably just forgotten so far. Technically this is a SC incompatible change, since QVarLengthArray<int> array = {10}; will now create an array with one element 10, instead of an empty array with a reserved size of 10. Anyhow, keeping the inconsistency with the STL / other Qt containers here would certainly do more harm than good in the long run. Task-number: QTBUG-45047 Change-Id: I4675880f93e141181250939942fa32300916b0e3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QGLWidget: make renderText() work in high-dpi modeMorten Johan Sørvig2015-03-231-1/+4
| | | | | | | | | Keep the win_x/y position in device independent pixels. Call glViewport with the device pixel size. Change-Id: I96fa038b1a0a3e18cb7f467b65def09cb89692a3 Task-number: QTBUG-38778 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QWidget: render() in correct resolution on retinaTimur Pocheptsov2015-03-231-1/+4
| | | | | | | | | Factor in the target devicePixelRatio when setting the size (and devicePixelRatio) on the target pixmap. Task-number: QTBUG-41682 Change-Id: I16a85cf7ba0adb6d6c05e9de4fd44ff5533b5f60 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* QSplashScreen: Center also on high-dpi screensMorten Johan Sørvig2015-03-231-1/+1
| | | | | | | | | Correctly compute QSplashScreen geometry based on pixmap geometry. Change-Id: Ibd7af54f0732c99116e1ec82a1aa4f8c4d7d390e Task-number: QTBUG-34334 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Android: update android gradle plugin versionBogDan Vatra2015-03-231-1/+1
| | | | | Change-Id: Id2a53edd5206f57c3b281293ab561a7775f94546 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Android: Early spring QPA cleanupBogDan Vatra2015-03-232-13/+5
| | | | | | | | | | - Move m_eglDisplay to private section - needsBasicRenderloopWorkaround is needed only locally so, make it a static function - remove unused member variables. Change-Id: I3e845301ec66a322621c7d9e6fac257320a40f77 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* QDoubleSpinBox: Set back an upper limit widthCaroline Chao2015-03-232-4/+16
| | | | | | | | | | The limit has been removed in the change a317ee0a6fa76d1166f6da8593d39eaf7afce83c. Task-number: QTBUG-44865 Change-Id: I7106f7e7a2653e1ab03d79861ac505d4666598eb Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Update bundled HarfBuzz to 0.9.40Konstantin Ritt2015-03-236-9/+17
| | | | | Change-Id: I88c3608c3f15e39e89a00cfc23c184aebe7097e4 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Report a correct Unicode version used by QtKonstantin Ritt2015-03-232-3/+3
| | | | | | | The version bump was forgotten in edfce46a6c0406af749ca7ef659df6315e36cd5d Change-Id: I99501bb314baab68f037417db4b3b14e11f2de02 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Relicense forkfd under an MIT licenseThiago Macieira2015-03-233-85/+47
| | | | | | | | | The difference between BSD and MIT is the need to reproduce the copyright in the documentation and the non-endorsement by a particular company (the name of which was stale in the forkfd code). Change-Id: Iee8cbc07c4434ce9b560ffff13cd0174934935e9 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Fix problems with extended selection after changing the model contentsFrank Reininghaus2015-03-222-10/+13
| | | | | | | | | | | | | | | | | | | | | Storing the position of the first selected item in the view can lead to wrong extended selections if the contents of the model change. Future Shift-clicks will always use the previous position of the first selected item, which may not be correct any more, to calculate the current selection. To fix this problem, a QPersistentModelIndex is used to keep track of the first selected item. A new unit test is added. Moreover, one function of the QTableView unit test is changed such that it shows the view prior to performing the test. Without this change, this test may fail. That the test, which simulates mouse presses without showing the view, worked at all seems to be a coincidence, as pointed out in QTBUG-18009. Task-number: QTBUG-18009 Change-Id: I0d844fbd1a994c279a7c8ee5d9b5b9fccecd25bf Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Cocoa: Don't let key events triggering input method events close dialog.Christoph Schleifenbaum2015-03-213-0/+11
| | | | | | | | | | | Added a flag to QCocoaWindow to ignore shouldCloseWindow. This is set from within QNSView when escape is pressed and the current focus widgets is processing input method events (like QTextEdit). This lead to unwanted dialog rejects. Task-number: QTBUG-44076 Change-Id: Ic90a8a6ba8c5cddbc0d486563acad57dd384d179 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>