summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/devFrederik Gladhorn2014-07-012-1/+12
|\
| * Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-012-1/+12
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| | * QGuiApplication: Document -plugin command line argument.Friedemann Kleint2014-06-191-0/+6
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-38972 Change-Id: Ie4dd6d70e60822a5a3626b10cd90d081897d646d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Fix animations in static buildsKai Koehne2014-06-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure qRegisterGuiGetInterpolator is called even for static builds. Task-number: QTBUG-37341 Change-Id: I65735a558d5bbfaa02fa4ec47d55ddf33ca1991a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * QPlatformClipboard::emitChanged(): Do not emit signals when closing down.Friedemann Kleint2014-06-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Prevents a shutdown crash in the Qt Mfc migration solution. Task-number: QTBUG-39317 Change-Id: I7f0aa40715baed57ff59682a477084347dfd45bc Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | | Fix init order of platfromIntegration and forcedWindowIconFrederik Gladhorn2014-07-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | The problem shows when running tst_qguiapplication.cpp and configuring with -no-widgets Change-Id: I9f241760953e543d488096c66a3e886a14f6ae50 Reviewed-by: David Faure <david.faure@kdab.com>
* | | Move deletion of the QDrag object into QDragManager::drag().Friedemann Kleint2014-07-011-0/+1
|/ / | | | | | | | | | | | | | | | | | | The QDrag objects were apparently leaking on all platforms other than XCB. Task-number: QTBUG-39651 Change-Id: I09efcd250c1f42eb385e9d5779be7af6b9b59376 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
* | Do not add QOffscreenSurface windows to the global listLaszlo Agocs2014-06-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOffscreenSurface has to stay usable even after returning from app.exec(). Hence close()ing the underlying hidden window, that is used on platforms that do not provide real offscreen surfaces, is wrong. Normally all QWindows are closed (and thus destroy()'ed) when quitting the application, meaning the the offscreen surface cannot be made current anymore after returning from exec(). This is an unnecessary limitation and makes certain cleanup operations impossible. Task-number: QTBUG-39908 Change-Id: Iea1489378a18f29ff84ba8f13a6dad2d66d2b315 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Propagate source/flags of QMouseEvent to QGraphicsSceneMouseEvent.Friedemann Kleint2014-06-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is useful to be able to detect synthesized mouse events in GraphicsView as well. [ChangeLog][QtWidgets][QGraphicsSceneMouseEvent] Accessors for Qt::MouseEventSource and Qt::MouseEventFlags were added to QGraphicsSceneMouseEvent to enable detection of synthesized mouse events. Task-number: QTBUG-39814 Change-Id: Ib5835fef1f484005f9b0fc86518ed32ea79cd80f Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | QGuiApplication::layoutDirectionChanged(Qt::LayoutDirection) [signal]J-P Nurmi2014-06-252-2/+8
| | | | | | | | | | | | | | | | This allows QQuickApplication to listen to layout direction changes without installing an expensive event filter on the application object. Change-Id: I2d7d8906acecbc092657c4bd918bbdc9aad9744c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Fix screen handling for child windows.Friedemann Kleint2014-06-183-37/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the semantics of QWindowPrivate::screen to contain the screen of top level window only. Child windows always return the screen of their toplevel window by recursing up. The QPA plugins then no longer need to report screen changes for child windows. Change setScreen() accordingly, bail out for child windows, and emit screenChanged() recursively. Also add a check to setParent() preventing screen changes. Task-number: QTBUG-36659 Change-Id: I19c8e12217cba1513e947a027f2492abc7b98816 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Improve debug output of events.Friedemann Kleint2014-06-161-10/+42
| | | | | | | | | | Change-Id: Ifc9817ca34a85cc7d9bd17dba9828249116fa0f6 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-051-0/+6
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| * Call doneCurrent on QOpenGLContext when the surface diesLaszlo Agocs2014-05-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing makeCurrent() followed by destroying the surface (and no doneCurrent) results in still having the pointer stored internally in the QOpenGLContext. If then a function like defaultFramebufferObject() is called, the pointer is dereferenced. To fix this, the doneCurrent() has to be called when the surface is destroyed before the context without doneCurrent(). This is pretty much what the user would expect anyhow. Task-number: QTBUG-38994 Change-Id: Ibd4083d9291c7fd39b38ce81a988a8e0c9d55d60 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Remove tracking of the current fboLaszlo Agocs2014-06-021-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When binding an FBO directly via glBindFramebuffer, the QOpenGLContext's internal current_fbo, that is maintained by QOpenGLFramebufferObject, becomes out of sync. This will lead to QOpenGLFramebufferObjects thinking they are still bound. Such state tracking should be avoided since it is becoming increasingly difficult to keep it consistent between the various OpenGL API wrappers and will never be robust enough when the application changes the state by directly calling OpenGL functions. current_fbo is now removed in QtGui. QtOpenGL is not touched. Change-Id: Id809aab1306c9486d1e2ba3bb5aa93593659e920 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Fix a crash when using QtQuickControls with core profileBerthold Krevert2014-05-221-4/+25
| | | | | | | | | | | | | | | | | | | | QOpenGLContext::versionFunctions returns 0, if a QOpenGLFunctions object for a legacy OpenGL version is requested while using the core profile. This leads to a crash QOpenGLContextPrivate::maxTextureSize() Change-Id: I32845643094336cebcc666806a411524fe3e869b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Remove unnecessary friend declarations from qevent.h.Friedemann Kleint2014-05-151-5/+0
| | | | | | | | | | Change-Id: Iec35b94f3898004850a076d4760d675248246ea7 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Don't crash when platform plugin sends us two close events.Gunnar Sletta2014-05-151-0/+6
| | | | | | | | | | Change-Id: Icfe2954908fad2abfb4195fc535aadd1e6302f76 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-133-7/+21
|\| | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp Change-Id: Ibe75603dc8a51769db6550ea3f07bc8d19b0be85
| * Document the X11 DISPLAY variable in the -display option docsThiago Macieira2014-05-091-0/+2
| | | | | | | | | | | | Change-Id: I20412616c91d187e2befc39134a480369347b8cb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
| * Doc: fix -qwindowgeometry and -qwindowtitle option docsThiago Macieira2014-05-091-2/+1
| | | | | | | | | | | | | | | | | | | | The former was documented twice and the latter was missing the qdoc formatting. Change-Id: Id8dfb21a0c2fd26134b5738448971fe2627a12d6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
| * Document that the -reverse option is only for debugging and its defaultThiago Macieira2014-05-091-1/+3
| | | | | | | | | | | | | | | | | | You should never force that option. Just let Qt automatically detect from the environment. Change-Id: I43ae4951969d2067cc111eff6302921a0af82658 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
| * Document that env variables are preferable to cmdline optionsThiago Macieira2014-05-091-1/+8
| | | | | | | | | | | | | | | | | | Environment variables are passed along to child processes, command-line options aren't. Change-Id: Ia52c1d8cfeeb2f7490e73ac50b58ba07c2eebfa8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
| * Avoid corruption in Q(Open)GLFunctions when used on multiple threadsLaszlo Agocs2014-05-092-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using Q(Open)GLFunctions concurrently on multiple threads had some issues due to incorrect synchronization: The m_groups list in the QOpenGLMultiGroupSharedResource, in which the Q(Open)GLFunctions instance is stored, became corrupted under certain scenarios, for example in the tst_qglthreads autotest and any two threads that happen to enter an initializeOpenGLFunctions() or QOpenGLContext::functions() call concurrently. Locking in value() has been introduced in 666c25c089acf7fcc9e9a6b7665074c6286d604e to fix such issues, however using the context group's mutex is not enough: that still allows two threads using two contexts with a different context group to concurrently enter insert(). Instead, the MultiGroupSharedResource has to have its own mutex to protect its own member variables. Task-number: QTBUG-38771 Change-Id: If01c44c2084b95e487bc9146576ca180ed8044da Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-05-132-8/+2
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-132-8/+2
| |\| | | | | | | | | | | | | | | | | | | Manually changed enum to LibGL in src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: If34ee6cce3d1d51fb4bb1fdfa59c30389ea0d207
| | * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-032-8/+2
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Manually fixed up: isES -> isOpenGLES src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp Change-Id: I57d2ef26c3d4a7b40ace09f4e8560b7686650ea5
| | | * Revision new signalAlan Alpert2014-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it's meant for QML anyways, this allows it to coexist peacefully with existing code. Task-number: QTBUG-29806 Change-Id: Ib04993f47eb2f9f7fc49c4a5400f18f9682a7aaa Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| | | * Remove old symbols from QOpenGLContextLaszlo Agocs2014-04-261-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-38564 Change-Id: I39a0482e4411cdc644ed34813626c39dacb5b6af Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | | qpa: Merge qkeymapper.cppTor Arne Vestbø2014-05-133-83/+31
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9730247371ccf0e83579b71e13a9f3d8adcf0fff Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | | qpa: Merge qcursor.cppTor Arne Vestbø2014-05-133-165/+98
| | | | | | | | | | | | | | | | | | | | Change-Id: I1a79a47f625515062f018e0fbad9b1247d2fe346 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | | qpa: Merge QClipboardTor Arne Vestbø2014-05-133-91/+31
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibc2e2e1097ff6b3503cac24edc894ae9ded20976 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | | Make handling of QEvent::Close consistent with QWindow::close()Gunnar Sletta2014-05-131-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The event handler would ignore the close if the window was hidden while the close() function would not. In addition, the close() function would force removal of focus etc while the event handler did not. Make it consistent by calling close() from the event handler. Change-Id: Ia05b08299f218620fb40a8cad5d3771158c4701e Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | | | qpa: Rename qplatformsystemtrayicon_qpa.cppTor Arne Vestbø2014-05-122-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I1b8db310d2f32102fbc834a898df6081780c4f6e Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | | Use QtPlatformHeaders to set platform specific functionalityJorgen Lind2014-05-094-0/+24
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This involves exposing a new function in the QPlatformNativeInterface which gets a public function for QGuiApplication Proof of concept is done through implementing _NET_WM_WINDOW_TYPE setters for xcb Change-Id: Ic9544e775fb71cc9b30273595ec41b1cdb1c9d64 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-067-20/+45
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp src/opengl/qglpixelbuffer.cpp src/opengl/qglshaderprogram.cpp tests/auto/opengl/qglthreads/tst_qglthreads.cpp Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
| * | Don't set the window title for a Qt::Desktop window (QDesktopWidget)Thiago Macieira2014-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The desktop doesn't belong to this application, we shouldn't be setting it (assuming it is even possible). On X, for example, it's possible to set the name and you end up with the root window having _NET_WM_NAME pointing to the last application that created a QDesktopWidget. Change-Id: Ib62d0a4d56a4d2a74afc6b33fa607867343e7aba Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2014-05-023-13/+19
| |\ \ | | | | | | | | | | | | refs/staging/stable
| | * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-013-13/+19
| | |\| | | | | | | | | | | | | | | | | | | | | This merge adds the opengl rename. Change-Id: I84ea0b6abee9780ebb2cf3f64ab9e3fdf2acab3e
| | | * Rename new QOpenGLContext APIsLaszlo Agocs2014-04-253-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | isES() becomes isOpenGLES(). The library type enums are changed DesktopGL -> LibGL and GLES2 -> LibGLES. This removes the now unnecessary version number, the confusing "desktop" term and provides better readability. The old function/values are kept until the related qtdeclarative changes are integrated. Task-number: QTBUG-38564 Change-Id: Ibb0a1209985f1ce4bb9451f9b7b093c2b68a6505 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | | Fix override cursor issue with QtQuick2ApplicationViewer.Kati Kankaanpaa2014-05-021-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the override cursor was set before QtQuick2ApplicationViewer was shown then the cursor was the default cursor and not the override cursor. The new cursor was applied only if the window was visible and the cursor has been set. Now the cursor is applied also if override cursor is set. Change-Id: I88618c719e43b2802e209bef440461c532d19f48 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Jani Heikkinen2014-04-252-4/+18
| |\ \ | | | | | | | | | | | | refs/staging/stable
| | * | Merge remote-tracking branch 'origin/release' into stableJani Heikkinen2014-04-232-4/+18
| | |\| | | | | | | | | | | | | Change-Id: Id13b4a3803664692f32f9d57549be8a0c4a08567
| | | * When a window loses focus to a popup, event has PopupFocusReasonShawn Rutledge2014-04-171-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Followup to debe31e047060d790fb32c06e514d9df476df8bf : a popup window can have focus, but a QQuickWindow needs to know why it loses focus when a menu is opened, so that for example copy/cut/paste Actions can apply to the text which did have focus before the menu opened. The event's focus reason provides enough information to deal with this situation. Task-number: QTBUG-36292 Task-number: QTBUG-36332 Change-Id: Ifae999a364a61b125a4764c9db204a167bddf0b7 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| | | * Remove internal public function from QOpenGLFunctionsLaszlo Agocs2014-04-171-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLContext uses glGetTexLevelParameteriv on desktop OpenGL and so it got recently added to QOpenGLFunctions as part of the dynamic GL loading support. This is unnecessary since such desktop-only code can use the versioned wrappers (QOpenGLFunction_1_0 for example). In related upcoming changes in 5.4 the function is removed. This change has to be backported to 5.3 to prevent introducing this public API unnecessarily. Change-Id: I6fc331091e4e6416e430bf985afcc17a392fc2e3 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| * | | Remove unneeded ;Albert Astals Cid2014-04-241-1/+1
| |/ / | | | | | | | | | | | | | | | | | | Warnings returned by pedantic Change-Id: I501621df6e9f39b18576625b321714a862dc971a Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * / QPA: Adding API to support QWidgetAction on MacGabriel de Dietrich2014-04-171-0/+5
| |/ | | | | | | | | | | | | | | | | Includes the Cocoa implementation. Task-number: QTBUG-19840 Change-Id: Id33bc8053b82116cf76ed591b6df823df3aef9bc Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.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>
* | 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>