summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | QColor: unbreak mingw buildMarc Mutz2016-10-111-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The usual: inline functions not declared inline, but defined as such give mingw errors: qcolor.h:280:8: error: 'QColor::QColor(QLatin1String)' redeclared without dllimport attribute after being referenced with dll linkage [-Werror] Fix by declaring the functions inline, not only at the definition. Task-number: QTBUG-56459 Change-Id: I3f05e5e3597f6aa0ed318c7e7a11afdefc4c1d2f Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | unbreak direct2d testOswald Buddenhagen2016-10-111-7/+9
|/ / / | | | | | | | | | | | | | | | | | | amends c0cc5052. Change-Id: Icdf157d0711d9de85b108ab2ff1da0e1fc2e4a9d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Migrate libinput support away from QT_LIBRARY_VERSIONLaszlo Agocs2016-10-101-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | There may not be a version when libinput is not picked up via pkg-config. Add a config test instead. Task-number: QTBUG-56017 Change-Id: I421af4cef1b896413a4ebda561809a8b2a3386b3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Allow granular synchronous and asynchronous delivery of QPA eventsTor Arne Vestbø2016-10-103-74/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The setSynchronousWindowSystemEvents() API of QWindowSystemInterface is supposed to be set globally by the platform plugin, not switched on and off to trigger async/sync deliver of events for a specific event. We introduce processWindowSystemEvent() in QWindowSystemInterfacePrivate to match postWindowSystemEvent(), where the former is synchronous and the latter is asynchronous. This is then coupled with a templated version of handleWindowSystemEvent() that then calls out to one of the two depending on the specialization that's used. The default specialization will decide based on the state set by setSynchronousWindowSystemEvents(), as before. This allows templated versions of handleMouseEvent, handleKeyEvent, etc to be added without maintaining two code paths, one for synchronous and one for asynchronous delivery, which in the end allows us to get away from using setSynchronousWindowSystemEvents() as a temporary switch to synchronous mode. The templates are defined in the QWindowSystemInterface source file, with explicit instantiations of the three supported modes of delivery, as having the definition in the header file would both require inlining, as well as qwindowsysteminterface.h having access to the private parts of QWindowSystemInterfacePrivate for the template function bodies. Task-number: QTBUG-56274 Change-Id: I54c34da1ad90ff243f11905529874695f556cfcd Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.7' into 5.8" into refs/staging/5.8Liang Qi2016-10-061-4/+5
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-061-4/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_pre.prf mkspecs/features/qpa/genericunixfontdatabase.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf src/corelib/io/qiodevice.cpp Change-Id: I6f210f71f177a3c3278a4f380542195e14e4b491
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-011-4/+5
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_pre.prf mkspecs/macx-ios-clang/features/resolve_config.prf qtbase.pro Change-Id: I65b5ebca4942a4f295bdd4ac1568e5c347333aea
| | | * Fix crash when doing many text layouts with superscript/subscriptEskil Abrahamsen Blomfeldt2016-09-291-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After e109b8a0f3c89c595f0da689e7ee847130e2ee47, it is possible that the cache will be flushed as a result of inserting a new font rather than just when the timer event triggers. When doing superscript and subscript text layouts, we would first get a regular font engine, then a scaled one, and then reference the regular font engine *after* getting the scaled one. If the regular font engine was deleted as a result of inserting the scaled one, we would get a dangling pointer and crash. The situation was improved by 49926bb9ef983d4c19aed635a00b388252c065e4. You would now to switch between 256 different fonts in the layout in order to trigger it. The test in the commit will trigger the crash even with this change. [ChangeLog][Qt Gui][Text] Fixed a crash that could happen if you were doing many different text layouts with different fonts and superscript or subscript alignment. Task-number: QTBUG-53911 Change-Id: Ia33108252e030eff25924ef1b7c10b9d59b5bc8c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | Ensure that QBackingStore::flush() is not used across window hierarchiesTor Arne Vestbø2016-10-061-0/+2
|/ / / | | | | | | | | | | | | Change-Id: I0713d7499f32819db4263e36dff58812a9ac763c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Clean up QT_QPA_DEFAULT_PLATFORM handlingJake Petroules2016-10-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | This is now centralized in configure.pri except where it explicitly needs to be overridden. Change-Id: If829d6b5eecf9a5fc403d0a0600d12c9e5781525 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | QColor: Fix use of uninit'ed value in get_hex_rgb()Marc Mutz2016-10-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If len == 0, we didn't write anything to 'tmp', but get_hex_rgb() unconditionally reads tmp[0] (aliased to name[0] in get_hex_rgb()). Fix by terminating the tmp array, thus ensuring that the comparison against '#' in get_hex_rgb() fails. Introduced in a41393d0bc05998a7de2dcf872953b6d24b71e96. Coverity-Id: 171477 Change-Id: I53952aff7035813ed6abc74d402953bc9cfa76f1 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | fix freetype/fontconfig configure systemOswald Buddenhagen2016-10-042-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | convert the ugly config.tests/[...]/freetype.pri file into a custom callback in configure.pri, and reinstate pkg-config use for freetype. subsequently, use QMAKE_USE for the actual library references. this fixes in particular cross-builds, as the new configure was not passing the necessary information to the test any more, so the old .pri file misbehaved. Task-number: QTBUG-54911 Change-Id: I5fc9c254334a2675f7db4d54df4c77637e8e2487 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Fix plain text QStaticText with line breaksEskil Abrahamsen Blomfeldt2016-10-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The layout isn't actually created until endLayout() or setLineWidth() is called. So in the case where this was not done, the height of the line would be 0, thus multiple lines would be placed on top of each other, at y == 0. [ChangeLog][QtGui][Text] Fixed QStaticText when manually breaking lines and no text width was set. Task-number: QTBUG-56346 Change-Id: I7f6ed6260545882f05fe39b21134315eca7401b9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | | Fix qt_blend_rgb32_on_rgb32_avx2Allan Sandfeld Jensen2016-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The order of the arguments to testc was wrong, it should have been the other way. Replaced with testz to also get rid of setzero. Change-Id: Iff968c140f9ca34c6bd7c7f04a3623fd8ec42e1c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Freetype: Fix wrong line spacing for Courier NewEskil Abrahamsen Blomfeldt2016-09-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regular variant of Monotype's "Courier New" font, the one which is included by default on Windows, has an EBLC table, which overrides the ascent and descent for certain sizes. The Freetype engine doesn't automatically respect this, so there is a hack in place to fetch the correct values for us. But there were two issues with that code, which lead to us getting the wrong line spacing for that particular font: The first was that we did not update the height metric for the font. This is used, together with the ascent and descent, to calculate the leading of the font. So when we set the height of text lines in a layout, we would get a leading based on the height for the scalable font and the ascent/descent from the EBLC table, and this would not match up. Also, as reported elsewhere on the Internet, the descent value in the EBLC table for Courier New is set to a positive value instead of a negative one. This must be a bug in the font, so we special case it and fix the value to avoid bogus line spacing later. [ChangeLog][Qt Gui][Text] Fixed line spacing with some scalable fonts containing bitmaps with the Freetype font engine. Task-number: QTBUG-50090 Change-Id: I95165dde7b8ffac6d7f9ac43baadb3eb75d28abe Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-295-12/+33
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/uikit/xcodebuild.mk tests/auto/other/lancelot/tst_lancelot.cpp tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Change-Id: Ia0ae2de86094120281abd445138877c2cc3e882c
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-281-2/+12
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qfiledialog.cpp tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp Change-Id: I34bc8a990f8f526889a95a5c7099ef557b9681ad
| | * Add GLSL version 110 on Intel with compat profilesLaszlo Agocs2016-09-271-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Windows Intel drivers reject shader sources without a version directive in 3.2+ compatibility profiles. This is odd but can be worked around by adding #version 110 (which should be the default...) Change-Id: I1ccac41b80121e6423d4f8964d03dda52a433296 Task-number: QTBUG-55733 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * | QGuiApplication, platform plugins: don't modify AA_DontUseNativeMenuBarShawn Rutledge2016-09-261-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default should be false, meaning the application will prefer to use a native menubar if the platform supports it. The application author can set it to true if he wants to always use a Qt-rendered menubar instead; or, he can call QMenuBar::setNativeMenuBar(). Qt and its plugins should not override the author's wishes. Instead, if the platform plugin cannot create a native menubar for whatever reason, createPlatformMenuBar() will return null, and QMenuBar will fall back to using a Qt menubar instead. The application can check the result via QMenuBar::isNativeMenuBar(). QMdiArea when maximized inside a QMainWindow with an empty title does not replace the main window's title if we are using native menus. This behavior turned out to be the same on Unity as it is on macOS, so the autotest needed adjustment to expect that behavior whenever the menubar is native, not only on certain platforms. tst_QMenuBar::allowActiveAndDisabled() tests a standalone QMenuBar. In f92f78094 it was disabled on macOS, but on Ubuntu it passes as long as we force it to be a non-native menubar, so it should pass that way on macOS too. Removed unused variable RESET to fix warning. Task-number: QTBUG-54793 Change-Id: I716e40da709f96331cbbf25213bd7bc153e4dbe2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-233-4/+21
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qlogging.cpp Change-Id: I9cc8f25ad897efab6a42cb5c5161b1c9402952f0
| | * Fix linear RGB16 gradientsAllan Sandfeld Jensen2016-09-231-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Writing to solid overwrites part of the gradient input messing up later lines. In particular repeating gradients tended to be broken. Tested by lancelot (once the baseline is correct). Change-Id: I64222048ba67b0424b44822f09ddc947973145a6 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * QWindowPrivate::maybeQuitOnLastWindowClosed(): Skip tooltipsFriedemann Kleint2016-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Windows of type Qt::ToolTip should not prevent closing the application when checking for the last window. Task-number: QTBUG-55523 Change-Id: I47c51abe79bf6c857aba229960de95e1a23efb10 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | * Merge remote-tracking branch 'origin/5.6.2' into 5.6Liang Qi2016-09-231-0/+16
| | |\ | | | | | | | | | | | | Change-Id: I570fa9b06e181d02a4bee83500730733b31d4758
| | | * Describe meaning of typographic units in QRawFont documentationKonstantin Tokarev2016-09-221-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Text is copied from corresponding QFontMetrics methods. Change-Id: Ife79e0d1b06ca3f691f2fd8bd796b41aeaa76954 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | | Add note about lifetime of the pointer returned by QClipboard::mimeData()Friedemann Kleint2016-09-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explain that it might become invalidated when the clipboard changes. Task-number: QTBUG-55737 Change-Id: Ic7366901f60647caab44930ab03915fd0c9aba1a Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | | | Pick up changes to device-pixel-ratio in QRasterBackingStoreTor Arne Vestbø2016-09-273-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression from 2d2d9078, which assumed the code in QBackingStore::beginPaint would apply to macOS as well, but QHighDpiScaling::isActive() is only active when Qt does the high DPI scaling, so we never hit the resize() code-path. Adds backingStore() accessor to go from QPlatformBackingStore to QBackingStore. Change-Id: I5de2ade74e731df445ea22e0f49b2a121e678efe Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | Deduplication fetchTransformedAllan Sandfeld Jensen2016-09-231-137/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unify generic and ARGB32PM versions for fetchTransformed, the main benefit of the specialized version is the simplified fetch, but we can also get that by ensuring the method can be inlined. At the same time move runtime inline of fetchPixel in fetchTransformedBilinear to compile time using a similar model. Change-Id: I0c1ed2ea4d4a3fb1b6dd3973823c0925101ed18e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | | QGuiVariant: use new QColor::setNamedColor(QLatin1String)Marc Mutz2016-09-231-2/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: If36f9f3c60ee5cea3082a973a4b8ea9d2de1b62f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | QColor: provide QLatin1String overloads of functions taking QStringMarc Mutz2016-09-232-16/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The inefficiency of QColor(const char*) came to light by a recent refactoring which showed that the existing char* overload of qt_get_hex_rgb() was never called. So, provide a QLatin1String interface for named colors that allows user code to reach that internal function without converting to QString first. Change-Id: I74df7b570ef28c00e35ca4adf46c4b7c7e9994b3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
* | | | QColor: clean up qcolor_p.hMarc Mutz2016-09-222-39/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only qt_get_hex_rgb(const char*, QRgb*) is used outside qcolor.cpp (in qxpmhandler.cpp), so remove all other function declarations from qcolor_p.h, and make the functions file-static in qcolor.cpp, removing their qt_ prefix to avoid confusion. Exception: it turned out that qt_get_named_rgb(const char *, QRgb*) wasn't actually used anywhere, but a follow-up commit will fix this. Adjust interface to that of the QChar overload (add explicit int len). Simplify conditional compilation of QT_NO_COLORNAMES: move the ifdef inside get_colornames, to avoid duplicating the declaration, and remove the empty implementation of get_named_rgb, since their use is already conditional on QT_NO_COLORNAMES not being defined. Change-Id: Iaf685dfbea0b9d3bd010448dac0e95be7b097ce5 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | QPaintDeviceWindow: Don’t request update on hideMorten Johan Sørvig2016-09-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not the time to update and the window is repainted on expose anyway. Change-Id: I07680a2c351d337e2f35a18b804a03631d5cedc5 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | | Modernize rasterwindow/openglwindow examples to use requestUpdate()Tor Arne Vestbø2016-09-221-5/+8
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib8d0c42db7343247d0431ea008eb17da9ee98f4d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | Rename QPA ExposeEvent's window-pointer from 'exposed' to 'window'Tor Arne Vestbø2016-09-223-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The former is easy to mistake for the isExposed state of the event. Change-Id: Ic769ac332901ac97449ebc8dcca5959b6b42df68 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Return color bitmap from QRawFont for color fontsEskil Abrahamsen Blomfeldt2016-09-221-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the font in question is a color font, we should call the appropriate function bitmapForGlyph() and return the color bitmap from the font, rather than the alpha map in QRawFont::alphaMapForGlyph(). Change-Id: I2c3cd66db5a93ddf0cc463f4d136dd6771b9734c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-221-6/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/qiosviewcontroller.mm Change-Id: I2dda31867cbc79ea7fe965f52afb518aefa4ad20
| * | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-211-6/+8
| |\| | | | | | | | | | | | | | Change-Id: I9cfefaf22b010fca937be77979f5fb50574bb71e
| | * | QBrush: Fix UB (non-virtual dtor) in QBrush::detach()Marc Mutz2016-09-181-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the d-pointer, QBrush uses a QScopedPointer with a custom deleter that checks for QBrushData::style and casts the QBrushData pointer down to corresponding subclasses before calling delete on them. In QBrush::detach(), however, any of the three brush data classes were held in a QScopedPointer _without_ the custom deleter, invoking UB when that scoped pointer would ever get to be the one that deleted the payload instead of handing it over to the objects d-pointer. Found by making dtors protected following a Coverity report wrongly marked as 'dismissed' (these static checks are not included in this patch, since they are binary-incompatible), to find out where Coverity could possibly see a problem. Also replace the d.reset(x.take()) that allowed this mismatch to compile with d.swap(x), which nicely ensures that x and d are of the same type. Coverity-Id: 11772 Change-Id: I85e2c205df9291bd7508b6c90f7b03fbe8c3bcd2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-212-5/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5971b88e is not needed in new configure. This merge also reverts "fix QMAKE_DEFAULT_*DIRS resolution with apple SDK", 2c9d15d7, because it breaks iOS build with new configure system. Conflicts: mkspecs/features/default_pre.prf mkspecs/features/mac/toolchain.prf mkspecs/features/toolchain.prf src/dbus/qdbusconnection.cpp src/plugins/sqldrivers/mysql/qsql_mysql.cpp src/sql/drivers/mysql/qsql_mysql.cpp src/widgets/widgets/qmenubar.cpp src/widgets/widgets/qmenubar_p.h tools/configure/configureapp.cpp tools/configure/environment.cpp tools/configure/environment.h Change-Id: I995533dd334211ebd25912db05b639d6f908aaec
| * | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-162-5/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp Change-Id: I0af32ee55936d523cbd259b6fe82eb9c409f9074
| | * | Fix typos in highdpi docsFrederik Gladhorn2016-09-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I15fd6859ff777388a229e3cb10de45886fe543fb Reviewed-by: Nico Vertriest <nico.vertriest@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * | Taking trailing whitespace into account when shaping linesDavid Schulz2016-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The calculated end position of script lines, consisting of nothing but trailing spaces, is lower than the start position. This results in not shaping those script lines. Task-number: QTBUG-55255 Change-Id: Ib70c1a800d2f70b7f61e3d05c10618e275f45f12 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | | Save memcpy when converting to 32bit formatsAllan Sandfeld Jensen2016-09-201-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the destination format is 32bit, we can convert directly in the destination instead of in a buffer. Change-Id: I2b4407da77b863deec7869c341e1a8d464b46600 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | | Simplify source fetch qdrawhelper tablesAllan Sandfeld Jensen2016-09-201-516/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Collapse the tables that are mostly identical, to much shorter tables and a simple functions to make it easier to read and maintain. Change-Id: I44fdaebe9927b49a94385057756d9d87ad3c33f5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | | Add AVX2 versions of the fast blending functionsAllan Sandfeld Jensen2016-09-182-10/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds AVX2 versions of the fast blending functions that we already have SSE2 versions of. Change-Id: Ifd1a22f7891b6208cb74929ad26095d12c5a1efb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | iOS: Implement support for QScreen::grabWindow()Tor Arne Vestbø2016-09-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only windows that are part of the application can be grabbed. This excludes the system statusbar and other system overlays, as well as windows of other applications. This is a limitation due to the security model of iOS. There exists APIs to grab a snapshot of the complete screen, but these APIs return a view that can be used as a placeholder e.g. during view transformations, and doesn't match our API that require reading of pixels. Task-number: QTBUG-49944 Change-Id: I8fd5b4c2777be1486f0ff22762d5e9b64c927e70 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | | macOS: Move QColor/QBrush conversion functions to QtGuiTor Arne Vestbø2016-09-182-0/+141
| | | | | | | | | | | | | | | | | | | | Change-Id: I971d1d69b491532fd0dc0bab72b274dec6591e6b Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | | macOS: Move image conversion functions to QtGuiTor Arne Vestbø2016-09-182-1/+158
| | | | | | | | | | | | | | | | | | | | Change-Id: I911f2648e506f27519e98be1bffe2c5ab0f388f1 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | | macOS: Move QMacCGContext helper into QtGuiTor Arne Vestbø2016-09-174-0/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation was duplicated and spread out between QMacStyle, QMacPaintEngine, and the Cocoa platform plugin. Moving it into QtGui allows using it on other Apple platform. Change-Id: Iadcbd71998204887e116271c575037789b6e2163 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | | Use QString::fromLatin1() less to avoid string allocationsAnton Kudryavtsev2016-09-154-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QString::fromLatin1 always allocates memory, but there are cases where we can avoid/reduce allocations or/and reduce text size, e.g.: QStringBuilder expressions Fix: replace QString::fromLatin1 with QL1S QString::fromLatin1().arg(String) pattern Fix: replace with QStringBuilder Overloaded functions with QL1S arg Fix: replace QString::fromLatin1 with QL1S In rare cases if there is no overloaded function with QL1S and we have deal with string literal, replace QString::fromLatin1 with QStringLiteral. Change-Id: Iabe1a3cc0830f40ef78a0548afa4368583c31def Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | Silence warning from syncqtUlf Hermann2016-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently syncqt considers anything like "<blah.h>" to be an include statement, even if it's in a comment. Yet, in fact, the comment was not entirely correct here. Change-Id: I7a661007ee86bb20242d54eb128c6b646cac15e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>