summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* QtGui: Use Q_REQUIRED_RESULT in many more placesDavid Faure2014-05-025-28/+28
| | | | | | | | | gcc doesn't yet warn when a non-POD return datatype is unused, but clang does, at least. Change-Id: Ia4c39001994ac09cf20e458bc5a66710bd11780c Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Factor xcb check into a local variableDavid Faure2014-05-021-3/+4
| | | | | Change-Id: Ib57f73f7a733a94bed4522ddd2d19c4980d8d6b6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add support for -qwindowicon command line argument.David Faure2014-05-023-1/+11
| | | | | | | | | [ChangeLog][QtGui][QGuiApplication] Add support for -icon command line argument on X11, add -qwindowicon on all platforms. Change-Id: Iacc602466699bf634d8b34aab7ed73c83fd9844f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add locations AppDataLocation, AppLocalDataLocation to QStandardPaths.Friedemann Kleint2014-04-291-1/+1
| | | | | | | | | | | | | | | | | | | On Windows, DataLocation currently returns the value obtained by passing CSIDL_COMMON_APPDATA to SHGetSpecialFolderPath(). This is the local non-roaming path. For actually storing settings, the roaming path should be used (CSIDL_APPDATA). Introduce new AppDataLocation to return that path and AppLocalDataLocation for the local path and deprecate DataLocation. [ChangeLog][QtCore][QStandardPaths] QStandardPaths now has new enumeration values AppDataLocation, AppLocalDataLocation to be able to differentiate between roaming and local paths on the Windows operating system. DataLocation is deprecated in favor of AppDataLocation. Task-number: QTBUG-38483 Change-Id: Ib1de8c7031a863ed5eac10c747de6f7ff1a090c7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* Fixed i18n in QImageReader/QImageWriter.Ivan Komissarov2014-04-284-10/+14
| | | | | | Change-Id: I366831e23e4d29999696872d752b9487d1f22d44 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix definition of HRESULT in qwindowdefs_win.h.Friedemann Kleint2014-04-251-2/+2
| | | | | | | Task-number: QTBUG-38435 Change-Id: I4a08cd0656fa5d6ecb0b94aa71ca000268835b89 Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Include GLES 3.0 and 3.1 headers when availableLaszlo Agocs2014-04-241-1/+22
| | | | | | | | | | | | | | | | | | | In ES builds configure will now check for OpenGL ES 3.0 and 3.1 availability. This allows qopengl.h to include the correct header and, by defining QT_OPENGL_ES_3 and QT_OPENGL_ES_3_1, the OpenGL wrappers can provide support for MapBuffer, VAOs, etc. on GLES 3.0+ too. Right now this is not possible since the only standard way to use an ES function specific to a given version is to use the function directly. The extension mechanism (eglGetProcAddress and friends), that is often used in desktop GL, is not available for such functions. [ChangeLog][QtGui] QtGui's OpenGL headers are now automatically including the highest available header (gl31.h, gl3.h or gl2.h) in OpenGL ES builds. Task-number: QTBUG-38168 Change-Id: Ib857c58fe1696a9546fdd1aa143a9237e80325a5 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add public and QPA APIs for adapting existing OpenGL contextsLaszlo Agocs2014-04-244-3/+87
| | | | | | | | | | | | | For now only xcb on GLX is supported. Other platforms will follow later. Add also some missing documentation for the platform OpenGL context factory functions. [ChangeLog] QOpenGLContext is now able to adopt existing native contexts. Task-number: QTBUG-37552 Change-Id: I5dd959f102df178f646b2df5989203b5dc6de376 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* OS X: Add support for ApplicationState capabilitySamuel Gaist2014-04-245-10/+12
| | | | | | | | | | | | | | | | Currently a click on e.g. the dock icon is not propagated to the application so if for example the main widget is hidden, it can't be brought back. Also neither applicationDidBecomeActive nor applicationDidResignActive do anything. This patch fixes it [ChangeLog][QPA][OS X] Add support for ApplicationState capability. Application can now detect when an application states has changed as well when the dock icon has been clicked. Task-number: QTBUG-10899 Change-Id: I53d3e6eed4adc62b343e7aa3e3d8068d3248e7df Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Introducing QPixelFormatJorgen Lind2014-04-236-2/+1360
| | | | | | | | | Its purpose in life will be to describe pixel formats [ChangeLog][QtGui] Added QPixelFormat class Change-Id: I74d8f974606520efb3935110ff3d6ddb5ea805a8 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-04-1140-449/+879
|\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-armv7le-qcc/qplatformdefs.h src/printsupport/kernel/qcups.cpp src/widgets/styles/qstyle.h tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
| * QTextImageHandler: Load @2x images on retinaMorten Johan Sørvig2014-04-091-7/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Look for and load "@2x" image versions. Adjust getPixmap/ImageSize to take the image devicePxielRatio into account. Use doc->documentLayout()->paintDevice() to get the target window devicePixelRatio (like the existing DPI-based scaling). In practice this pointer may/ will be null, fall back to qApp->devicePixelRatio as usual. Task-number: QTBUG-36383 Change-Id: Ib5e113b67242b5a9b3410272f2183a76a60bc773 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * OS X: Add more text editing key bindings.Morten Johan Sørvig2014-04-092-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ctrl + K : Cut ctrl + Y : Paste ctrl + F : Cursor right ctrl + B : Cursor left ctrl + N : Cursor down ctrl + P : Cursor up ctrl + V : Cursor next page ctrl + O : Insert line separator (ctrl as in the key, not Qt::CTRL) These are low-priority (0) key sequences. Add them to the end of each StandardKey range and change the priority of an existing item to 1 where it makes sense. Task-number: QTBUG-32837 Change-Id: Id321e6c6ad4277d729b27297a1de66c4628e4201 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * make cmake registration of qt plugins make use of PLUGIN_EXTENDSOswald Buddenhagen2014-04-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of assigning plugins to the first module which claims the whole type, try to assign it to a module which the plugin claims to extend. as we are getting stricter in that go, somebody needs to claim the 'generic', 'platformthemes', and 'platforminputcontexts' plugin types. the natural claimant is QtGui. however, as we don't want to auto-link any of these plugins, make them all claim that they extend a non-existing module. QtGui also claims 'iconengines' plugins. the 'printsupport' plugins are also claimed by the respective module. Change-Id: I7af7c16089f137b8d4a4ed93d1577bd85815c87b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * QPageSize: remove QPageSize:: overqualificationsMarc Mutz2014-04-092-167/+167
| | | | | | | | | | | | | | | | This is not Qt style, not needed, and clutters the code, so remove QPageSize:: qualifications where they're not needed. Change-Id: Ia93ac9523ef43a40cf4dab3bcb383a54af666c96 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Update qtgui.qdoc regarding OpenGLLaszlo Agocs2014-04-091-17/+35
| | | | | | | | | | | | Change-Id: Ibda6987d005a1e42ebaef23b41ef18ae0b7ffa66 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Accessibility Mac: Cache Accessible Elements and Notify about changesFrederik Gladhorn2014-04-095-19/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The big change is that we now keep the id objects representing accessibles around so that they are persistent for ATs. This improves performance of Mac accessibility significantly. This is required for notifications which are now sent so that many things work much better, for example the VoiceOver focus follows the keyboard focus. The parent element in QCocoaAccessibleElement was removed, we can dynamically access it more reliably. Change-Id: I686d212f40d28b392dcc22f16f3c3430f08bdc98 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Correct QOpenGLContext::versionFunctions() docsLaszlo Agocs2014-04-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | The example is incorrect: no context parameter is needed. There was also no mentioning of the fact the the context must be current at the time of calling initializeOpenGLFunctions(). This is corrected too. Change-Id: If8695140096e4b4f84927579c099b0af80750703 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QPageSize: clean up operator==Marc Mutz2014-04-081-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | Recognize that the d-pointer can never be nullptr and drop the nullptr checks. The d-pointer can never be nullptr as there's no move ctor and all other ctors create a QPageSizePrivate. Change-Id: I6c4e165949ed55510aefbc2d933f20fc8e624333 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QPageLayout: clean up operator==Marc Mutz2014-04-081-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The old code always compared the Private classes, unless one of them was nullptr (which it never was, as there is no move ctor and all other ctors create a QPageLayoutPrivate. The new code compares the dpointers, and only if they differ, the Private classes. It also drops the nullptr checks, as they cannot trigger. Change-Id: I523c3503e2edb520f98f9b4e2e3bdaf28a9a355d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * QPageLayout: provide op!=Marc Mutz2014-04-082-0/+16
| | | | | | | | | | | | | | | | For consistency. Change-Id: I20fb70999785e2c1947f033d63367a2f6746990a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
| * QPageLayout: make op== non-memberMarc Mutz2014-04-082-7/+11
| | | | | | | | | | | | | | | | | | Better style, since it treats the left-hand and right-hand size symmetrically, e.g. for implicit conversions. Change-Id: Ib5d39b1ebffffcb664ee2f72c756702469e32d3b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QPageLayout: use QExplicitlySharedDataPointerMarc Mutz2014-04-082-1/+12
| | | | | | | | | | | | | | | | | | | | Many setters check for an actual change before making changes to data members, but because of QSharedDataPointer, the detach had already happened by the time the comparison returned false. Change-Id: I320806e74de4a64fa3a340831621c1f5120ebb0f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
| * QPageLayout: remove QPageLayout:: overqualificationsMarc Mutz2014-04-082-27/+27
| | | | | | | | | | | | | | | | | | This is not Qt style, not needed, and clutters the code, so remove QPageLayout:: qualifications where they're not needed. Change-Id: I62f90c29bcb9f3c137d319051ac79e081fe5fb69 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
| * QPageSize: provide op!=Marc Mutz2014-04-082-0/+10
| | | | | | | | | | | | | | | | For consistency. Change-Id: I4375a6f8c2514479a7479c735d397bf8a9876db1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
| * QPageSize: make op== non-memberMarc Mutz2014-04-082-6/+11
| | | | | | | | | | | | | | | | | | Better style, since it treats the left-hand and right-hand size symmetrically, e.g. for implicit conversions. Change-Id: If1ffa9dc2a018e402c884f60bfbc82e799daeb92 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QPageSize: mark ctors explicitMarc Mutz2014-04-081-6/+6
| | | | | | | | | | | | | | | | | | A QSize or QSizeF is not an accurate representation of a QPageSize, so the corresponding constructor should be explicit. Change-Id: I6b1808e5f93e3caef948c0e5300bd3c20e3c4210 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: John Layt <jlayt@kde.org>
| * QPageLayout: use existing qBound()Marc Mutz2014-04-071-9/+4
| | | | | | | | | | | | | | instead of rolling our own qt_clamp(). Change-Id: I2729ae3ff98e8c29c66f0f5c792b1bc7bf586f06 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * QGuiApplication: fix crash caused by posting fake mouse eventRichard Moe Gustavsen2014-04-071-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Qt expects a mouse press/release event to not change mouse position in the same event, QGuiApplicationPrivate::processMouseEvent will detect if a QWindowSystemInterfacePrivate::MouseEvent tries to do this and convert it to two events; one move and one press/release. The problem is that the extra mouse event gets posted. So if delivering the first event causes a flush in the event queue (which can easily happen if e.g calling processEvents), the second event will be processed before the first returns. On iOS we see a crash with DnD as result of this, since drag data gets deleted on mouse release, and returning back to a mouse move after that will cause dangling pointers. This patch will instead of posting the event, call the event handler recursively with the faked event as argument. That way a flush will not cause the "pending" event to be delivered. Change-Id: Id9d88053b4859083fedd666584815016d67ac51b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * OSX: add several menuitem roles to support menu shortcuts in dialogsShawn Rutledge2014-04-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now menu items and key shortcuts for Cut, Copy, Paste and Select All work in the standard ways in dialogs such as the file dialog, provided that the corresponding QActions have been created and added to the menu. This depends on new roles to identify each menu item which is so broadly applicable that it should work even when a native widget has focus; but the role will be auto-detected, just as we were already doing for application menu items such as Quit, About and Preferences. When the QFileDialog is opened, it will call redirectKnownMenuItemsToFirstResponder() which will make only those "special" menu items have the standard actions and nil targets. When the dialog is dismissed, those NSMenuItems must be reverted by calling resetKnownMenuItemsToQt(), because to invoke a QAction, the NSMenuItem's action should be itemFired and the target should be the QCocoaMenuDelegate. Task-number: QTBUG-17291 Change-Id: I501375ca6fa13fac75d4b4fdcede993ec2329cc7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * QPagedPaintDevice - Move QPageLayout methodsJohn Layt2014-04-055-61/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new QPageLayout methods weren't originally added to QPagePaintDevice as no new virtuals can be added, instead static polymorphism was used to add the methods directly in the derived classes QPdfWriter and QPrinter. This however means that classes like QTextDocument with print() methods that take a QPagedPaintDevice are unable to access the QPageLayout methods. To fix this, instead make the QPagedPaintDevicePrivate a virtual class and have QPdfWriter and QPrinter implement derived private classes that are called by the non-virtual QPagedPaintDevice base methods. Change-Id: Ieb6e513b1fa05f5ae76ea1f9156b0b1a053089eb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Use Q_STATIC_ASSERT to check that the array has the right sizeThiago Macieira2014-04-051-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | No need to sprinkle the code with Q_ASSERT. We don't want this to fail to the user anyway. By using a Q_STATIC_ASSERT, a failure will be immediately reported to the developer. This also solves a warning found by Clang 3.4: error: unused variable 'pageSizesCount' [-Werror,-Wunused-const-variable] Change-Id: I79cf72c64242ad395276ce4360c59ad81112d9eb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * QNX: Surpress manual window activation during showFullScreenFabian Bumberger2014-04-051-0/+3
| | | | | | | | | | | | | | | | | | | | When a window is shown, libscreen will give it keyboard focus. Requesting the activation right after the window is created (and before libscreen activated the window) causes problems on some devices e.g. Q10. Change-Id: I29f7a38990ea4259a8b0c6624f70e31d7291af00 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
| * Fix neon image scaling function declarationsSamuli Piippo2014-04-041-2/+2
| | | | | | | | | | | | | | | | | | | | Change on the image scaling functions did not update the neon function declarations. Task-number: QTBUG-35927 Change-Id: Ia1e7428953aa140cad36e1cf26a18bfefc2267e7 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Doc: Fix documentation warning in qstylehints.cppSergio Ahumada2014-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | warning: Command '\snippet (//! [6])' failed at end of file 'code/src_gui_kernel_qguiapplication.cpp' This change amends 56cd9cc2b085c1a2152831d47bb8fd9607d7500e Change-Id: I63a2f086fc582d3a9c8b60f1ef94ccb537b0d3a5 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * purge vestiges of opengl es 1 supportOswald Buddenhagen2014-04-045-43/+10
| | | | | | | | | | | | | | | | amends 0d5170256c1. Change-Id: Ifa178d38f602bb7c66ef13334673ff47e332af5b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * QTextLayout: Fix cursor movement from invalid positionKonstantin Ritt2014-04-042-7/+13
| | | | | | | | | | | | | | | | Actually guarantee cursor doesn't move in this case for both logical and visual modes (just what the documentation says we already do ;) Change-Id: Iabdca7aa1d205672386a0095e3487e585611cdb5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Optimize QTextEngine::insertionPointsForLine() a bitKonstantin Ritt2014-04-041-0/+3
| | | | | | | | | | | | | | Reserve the insertionPoints vector capacity prior to multiple append()-s. Change-Id: I97ab5b2a1add9f2e87c04ad0707bf516c13ff4d7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * QTextLayout: Fix visual cursor movement in some casesKonstantin Ritt2014-04-041-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To guarantee proper positioning at the end of the last line in a bidirectional text we have to insert the eol position into the insertion points vector, accordingly to the visual ordering. Detection of the last *logical* item in a *visual* line is unrelaed to the text direction, it is simply `iterator.item == iterator.lastItem`. [ChangeLog][QtGui][QTextLayout] Fixed visual cursor movement in bidirectional text. Task-number: QTBUG-18060 (partially related) Change-Id: I53b6ab889ef580ab0560b620b808b1e09efc0fbd Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Ahmed Saidi <justroftest@gmail.com>
| * QTextEngine: Fix visual position movement for tab and object casesKonstantin Ritt2014-04-041-8/+7
| | | | | | | | | | | | | | | | | | QTextLineItemIterator::next() was never updating itemStart and itemEnd for QScriptAnalysis::TabOrObject, thus producing incorrect insertion points for the line that contains tabs and/or objects. Change-Id: Ia964c663cc0636ba6be4500702656f989b252fba Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * [HB] Ensure we always working with non-multi font engineKonstantin Ritt2014-04-042-4/+9
| | | | | | | | | | Change-Id: If88385d4cecdc527b7952d34e48f7ba889173c6c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Add isCreated to QOpenGLTextureBlitterJorgen Lind2014-04-042-0/+7
| | | | | | | | | | Change-Id: Icb1a0354ac1caee38e3cb0cba6d7daec99d66c54 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Fixup QGuiApplication::sync to flush the QWSI queueJorgen Lind2014-04-041-0/+1
| | | | | | | | | | Change-Id: If4cedeb886e912f622a66b2b3374d6260cffc32a Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Doc: Fix Qt Gui filter name in AssistantTopi Reinio2014-04-031-1/+1
| | | | | | | | | | | | | | Use bookcase for the filter name like the rest of the modules. Change-Id: I9690d0b6a6f3abb11837120da75832475b975b5d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Fix UI squishing when using QWidget::setRenderToTextureJocelyn Turcotte2014-04-032-5/+7
| | | | | | | | | | | | | | | | | | | | When resizing a window, a window might not be resized synchronously with its backing store. We need to use the actual texture size as the transform to avoid stretching the rendered texture. Change-Id: I945f6d190577ccdcb54483a267a1e42df1ca3156 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Avoid an "OpenGL Error: 1282" output when resizing a QOpenGLWidgetJocelyn Turcotte2014-04-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | When we delete the previous FBO in QOpenGLWidget::resizeEvent while it is the currently bound FBO, the QOpenGLContextPrivate::current_fbo will not be updated and will try to be bound during the initialization of the new FBO. Fix the issue by explicitly releasing the FBO on destruction if it is current. Change-Id: Id049889c4857526750bbecf3dd27343e44449c12 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Add a way to share context between QtQuick and QtWidgetsJocelyn Turcotte2014-04-022-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | This will replace QSGContext::setSharedOpenGLContext. To be able to allow sharing the Chromium GL context with both QWebEngineView and QQuickWebEngineView, we need some way of setting the sharing within QtWidgets and QtQuick. Since they don't depend on one another this patch allows the sharing context to be set through QtGui. Change-Id: I91b365dd06ec925b4c5a99ac82c222778781fe8e Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Use an offscreen surface in VAO cleanupLaszlo Agocs2014-04-011-1/+10
| | | | | | | | | | | | | | | | | | Avoid failing the makeCurrent() on iOS that does not currently support using a window with different contexts. Change-Id: I2e10ad7e382161625a78518d02ad94edaff591ca Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Added handling of QT_LINUX_ACCESSIBILITY_ALWAYS_ON variable.Tomasz Olszak2014-04-041-0/+9
| | | | | | | | | | | | | | | | | | | | By setting this variable to non empty value we can, bypass checking ScreenReaderEnabled proprty of org.a11y.Status dbus interface. Not all accessibility readers set this. The variable is also useful for debugging. Change-Id: I6c5a1a51065948248e068dfff4755d6818ed9fb1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Optimize QColor::setNamedColorJędrzej Nowacki2014-04-031-5/+4
| | | | | | | | | | | | | | This patch removes two memory allocations from the algorithm. Change-Id: I9366f9c5ce02fb1cae8adfbd8dff36c7f23af2a7 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>