summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'gerrit/release' into stableFrederik Gladhorn2013-01-152-1/+6
|\ | | | | | | Change-Id: Ieb104d0e390218a063082c93bc9c7e412af2166d
| * XCB: Force XSync after creating WindowKai Koehne2013-01-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Make sure that dpy->request == dpy->last_request_read after setting up a new window. If we don't do this, last_request_read might never be updated until the difference hits a limit that can lead to hangs in the application (see e.g. QTCREATORBUG-8373). Task-number: QTBUG-29106 Change-Id: I390493ca6f966dc105d3ea3a2c48abec01177bc2 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Change all shmget calls to user-only memoryThiago Macieira2013-01-151-1/+1
| | | | | | | | | | | | | | | | Drop the read and write permissions for group and other users in the system. Change-Id: I8fc753f09126651af3fb82df3049050f0b14e876 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Clear backingstore for windows with alpha channel.Friedemann Kleint2013-01-111-2/+0
|/ | | | | | | | | Fixes painting artifacts in translucent windows. Task-number: QTBUG-28531 Change-Id: I00a7a86f88a40d356fa3e37bd497a288b2118469 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix warnings found by GCC 4.7 in the XCB platform pluginThiago Macieira2013-01-032-1/+2
| | | | | | | | qxcbnativeinterface.cpp:246:8: error: unused parameter 'context' [-Werror=unused-parameter] qxcbcursor.cpp:550:85: error: 'root' may be used uninitialized in this function [-Werror=maybe-uninitialized] Change-Id: I5fa4e717c86d0e8198e501e6c799e0ceb9264708 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* fix linker command lineOswald Buddenhagen2012-12-211-1/+1
| | | | | | | | gcc is apparently tolerant against this abuse. icc is not. Task-number: QTBUG-28775 Change-Id: I872d32177562f076ca8aecd263bc4bb3c7e8edc0 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Merge 'release' into stableOswald Buddenhagen2012-12-192-0/+46
|\ | | | | | | Change-Id: I57aaa6747c1bfacc7dee036cd69d91a8c0d9ae7a
| * Fix font sizes when X11 has a forced dpi settingv5.0.0Lars Knoll2012-12-182-0/+46
| | | | | | | | | | | | | | | | | | On X11, the X resource system can override the physical DPI of the screen for resolving font sizes etc. Correctly load the setting and adjust the logicalDpi() accordingly. Change-Id: Id60d03d1d214fb99e9de17a65976abd170bb7cca Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | XCB: add support for getting and setting appTime and appUserTime.David Faure2012-12-146-6/+58
| | | | | | | | | | | | | | | | | | | | | | | | The QX11Info class needs this. This required adding the missing nativeResourceFunctionForScreen in QPlatformNativeInterface. Change-Id: I2c6e91c7f122f3ecdf769a177deafd2aa3896e2f Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Fix empty window title regression, add application display name to window titleDavid Faure2012-12-141-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This increases consistency a lot: all windows and dialogs from a Qt application will show the app display name in the caption, on Windows and X11. This helps identifying which app a dialog belongs to, which is especially useful when the dialog is very generic and shows up unexpectedly. For compatibility reasons, the app name is added to the caption only if setApplicationDisplayName() was called -- or if the caption would be completely empty. The standard Qt4 case (setWindowTitle + no display name) is unchanged. Change-Id: Ib284c62c1f4c0bc923e5bc2d10247d95e9aa76c1 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Fixed incorrect handling of extra mouse buttons in XCB platform plugin.Samuel Rødal2012-12-144-59/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | translateMouseButtons() was only able to correctly handle the left, right, and mid mouse buttons. Thus, if any buttons outside of those were pressed, the motion notify event would basically unset the mouse button mask, leading to a release event being sent instead. Later on, when the actual release event arrives, that button gets xor'ed into the empty button mask generating another press, and later another motion event will generate a release. In the end that means two press-release sequences are sent for any extra mouse buttons. Instead of getting the mask of the buttons currently being pressed from the event, we need to keep track of the mask ourselves. Task-number: QTBUG-28561 Change-Id: Iaa67e784a13d792deef8fc29dbd5456a5471a861 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix QWidget::setWindowOpacity() when called before show().Friedemann Kleint2012-12-121-0/+4
|/ | | | | | | | | Pass opacity from the QWidget to QWindow and to the platform windows. Task-number: QTBUG-28477 Change-Id: If5a85d9183bd1ca33dac2052936ecd1e6c0b5f6c Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Made QWidget::setWindowOpacity work with the XCB platform plugin.Samuel Rødal2012-12-122-0/+19
| | | | | | | | | Ported the rather trivial implementation from Qt 4. Task-number: QTBUG-28477 Change-Id: I44e14a3c150af43c6b9b880242b655fe06084fd7 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add directory to xcb-static.pro's INCLUDEPATHAlejandro Exojo2012-12-121-1/+1
| | | | | | | | | | In src/3rdparty/xcb/xcb-util-image/xcb_image.c, the includes require all this directories, or otherwise compiliation fails when -qt-xcb is used in the configure step. Change-Id: I8566bea662eced144cb9a2b1ce1dbfdb65654dea Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Consistently prefix all platform plugin libraries with "q".Samuel Rødal2012-12-111-1/+1
| | | | | | | | | | | | | This means the xcb plugin library will be named libqxcb.so instead of libxcb.so, which doesn't clash with the system's libxcb.so. We need to consistently apply this on all platforms for static linking to work. Change-Id: I1640a7cae7b9846bbe62b19ab1c2c5bad7d02b4c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add PLUGIN_CLASS_NAME to qtbase pluginsMiikka Heikkinen2012-12-101-0/+1
| | | | | | | | Needed for automating static plugin loading. Task-number: QTBUG-28131 Change-Id: Icd993c0fc8335f29aeec30e853a408d888069399 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Compile with QT_NO_CURSOR.Volker Krause2012-12-072-0/+8
| | | | | | | | | | | | | Mostly straightforward, the a11y changes might look a bit drastic, but the base class QAccessibleTextWidget was already disabled in this case, so we have to obviously take out its sub-classes as well. Change-Id: I682ace20d6938688ddb1da23c3463f3c025fab8e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* xcb: notify when the logical DPI changes; add Q_MM_PER_INCH constantShawn Rutledge2012-12-031-2/+6
| | | | | Change-Id: I15696bf45ae99cc5b0fd95dab4884fc85cbfc6da Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fixed excessive enter/leave events being generated with the xcb plugin.Samuel Rødal2012-11-231-2/+39
| | | | | | | | | | | | | | | | | | | | | When we get a leave event we peek ahead in the queue to see if there's an enter event already pending. If so we use QWindowSystemInterface::handleEnterLeave() instead of two separate window system interface events, so that you don't get leave and enter events for the whole parent chain when moving the mouse cursor between two neighbouring native child widgets. We skip VIRTUAL events as they are generated for parent windows, and we only care about the bottom-most window that is being entered / left. Qt can take care of the rest since it knows the QWindow hierarchy. We need to not skip leave events with detail set to INFERIOR, since Qt expects to get a handleEnterLeave() when the mouse moves from a parent window to a child window. Task-number: QTBUG-27550 Change-Id: I7457d2e59d8b694081f2e43a16cd2e58d769624e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* xcb plugin: Move the include XInput2.h statementsThomas Senyk2012-11-231-5/+5
| | | | | | | | | | If the include of egl.h does nasty things with X11-defines (this happens with the imx6 gpu-drivers) errors are avoided if the include of XInput2.h is next to the other X-includes, and not after include of egl.h Change-Id: I182d0e1fcf3fa3e6abce880d34e63cc1d2ce8ed4 Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
* Fix drops from external sources.Gatis Paeglis2012-11-221-6/+5
| | | | | | | Task-number: QTBUG-26832 Change-Id: Ia1ccce391178e73d26a4f09955bce6c37616384f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Pass extended key event infomation in xcb platform.Weng Xuetian2012-11-221-2/+2
| | | | | | | | Bare QKeyEvent missing some useful info for input method. Use new construct of QKeyEvent to create extended QKeyEvent Change-Id: I8c89e80e7329b92e3e04d5fe52d07c6f6f9e006f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove warnings from qtbase.Mitch Curtis2012-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | geometryengine.cpp: In member function 'void GeometryEngine::drawCubeGeometry(QGLShaderProgram*)': geometryengine.cpp:159:93: warning: cast to pointer from integer of different sie [-Wint-to-pointer-cast] geometryengine.cpp:167:95: warning: cast to pointer f rom integer ofdifferent size [-Wint-to-pointer-cast] benchmarking.cpp: In member function 'void TestBenchmark::multiple()': benchmarking.cpp:85:9: warning: variable 'result' set but not used [-Wunused-but-set-variable] benchmarking.cpp: In member function 'void TestBenchmark::series()': benchmarking.cpp:120:9: warning: variable 'result' set but not used [-Wunused-but-set-variable] qstandarditemmodel.cpp:2717:45: warning: unused variable 'd' [-Wunused-variable] qxcbconnection.cpp: In member function 'xcb_timestamp_t QXcbConnection::getTimestamp()': qxcbconnection.cpp:930:40: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qguiapplication.cpp: In constructor 'BlockableWindow::BlockableWindow()': tst_qguiapplication.cpp:340:9: warning:'BlockableWindow::enters' will be initialized after [-Wreorder] tst_qguia pplication.cpp:339:9: warning 'int BlockableWindow::leaves' [-Wreorder] tst_qguiapplication.cpp:342:12: waring: when initialized here [-Wreorder] tst_qsqltablemodel.cpp:570:10: warning: unused parameter 'value' [-Wunused-parameter] tst_qabstractitemview.cpp:1546:8: warning: unused parameter 'index' [-Wunused-parameter] Change-Id: I49c88547182e4669cfde2c2536403fc5573ca2da Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* exclude 3rdparty from lupdateOswald Buddenhagen2012-11-201-0/+2
| | | | | | Change-Id: I00c569787943a87dda60786b179af1f55a94ea68 Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QSystemTrayIcon/X11: Use display obtained as native screen resource.Friedemann Kleint2012-11-192-0/+20
| | | | | | | | | | Previously, the screen name was used, which contained the display name. This was changed to return the xrandr-name. Task-number: QTBUG-5416 Change-Id: I560143d6d459a8051c9640079cf7d39a3caebfec Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Added expose and configure event compression in xcb platform plugin.Samuel Rødal2012-11-142-1/+60
| | | | | | | | | We had this in 4.x to prevend swamping the event queue and causing a lot of needless processing of stale events. Task-number: QTBUG-27734 Change-Id: I020fe44885569f5a68c07220fcb44bea3e138089 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add a QEnterEvent containing the mouse position.Friedemann Kleint2012-11-101-1/+3
| | | | | | | | | | | | | Enter handling requires knowledge of the mouse position. Extend the enter handling of QWindowSystemInterface to receive the position (implemented for Windows, XCB and Mac), passing it on to QEnterEvent. Dispatch QEnterEvent from widgets code. Change-Id: I49c07d2b1f46310c877017dd55d4cd7d636bdbce Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Added motion event compression in xcb plugin.Samuel Rødal2012-11-091-0/+8
| | | | | | | | | | | | | | | We did this in 4.8 too, to avoid swamping the event queue with stale motion events. If you're interested in fine grained motion events you just need to have a responsive main loop. Most applications are only interested in the latest mouse position in any case. Fixes performance issues in QML where an onMouseXChanged or onMouseYChanged in a mouse area does directly or indirectly runs some heavy computations, slowing rendering to a halt since the main loop is constantly busy. Change-Id: I169c96458db4d57b689d6c2c915765b11c35e123 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Report threaded rendering support in xcb when using event reader thread.Samuel Rødal2012-11-082-1/+3
| | | | | | | | | | | Threaded rendering had issues due to bugs in xcb before xcb_poll_for_queued_event() was added. Now xcb_poll_for_queued_event() is resolved at runtime and if present xcb events are received on a separate thread. Change-Id: I05420c8c9f9a20f41ce0f86ed255bc8b295e7fe5 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Rename all QWindow properties that have "window" in themShawn Rutledge2012-11-072-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | windowTitle, windowModality, windowIcon and so on are named that way to be similar to the ones in QWidget. However QQuickWindow inherits all of the declared properties, and we would like to have shorter property names in QML. If you are working with a Window then it's obvious the title property is the window title. Unfortunately, there must be patches in many other modules which depend on this one. In order to avoid the need to merge them all at the same time, there is also patch https://codereview.qt-project.org/#change,39001 which temporarily adds backwards-compatible accessors, which can be removed after the other modules are able to build without them. We should not rename windowState to state, because in QML, state usually drives the state machine for animation transitions etc. (although QWindow is not an Item, a user might get confused about it). Related patches are https://codereview.qt-project.org/#change,39001 https://codereview.qt-project.org/#change,37764 https://codereview.qt-project.org/#change,37765 https://codereview.qt-project.org/#change,37766 https://codereview.qt-project.org/#change,37762 Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add configure option to minimize xcb runtime dependenciesKai Koehne2012-11-074-109/+199
| | | | | | | | | | | | | | | | | | | | | | | Some of the xcb- libraries we depend upon are not (yet) common across distributions. This is problematic for binaries that should be working on different distributions. The patch mitigates this by: Adding the files from libxcb-proto (version 0.1.6), compiled with libxcb-1.5 xcb-util (version 0.3.9) xcb-util-image (version 0.3.9) xcb-util-keysyms (version 0.3.9) xcb-util-renderutil (version 0.3.8) xcb-util-wm (version 0.3.9) from xcb.freedesktop.org/dist to src/3rdparty/xcb. Adding a configure option '-qt-xcb' to use the sources instead of linking to the respective runtime libraries. Task-number: QTBUG-27803 Change-Id: I6ea87daa382871b2b9072a601511523fa0b9f44b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Resolve xcb_poll_for_queued_event at run-time.Samuel Rødal2012-11-073-29/+49
| | | | | | | | | By not making this a compile time decision we ensure forward compatibility for older xcb versions if the xcb plugin is built against a newer xcb. Change-Id: I744777d53bf7b8deb6eff372494f4403d19d364c Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Send QContexMenuEvent when Context Menu key is pressed.Friedemann Kleint2012-11-061-1/+8
| | | | | | | | Bring back code from keymapper_x11.cpp. Task-number: QTBUG-27648 Change-Id: I2a189a0537bcd2ae0eb093576c84814b2f09933b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* xcb: Fix a trivial reply leakUli Schlachter2012-11-021-1/+1
| | | | | | Change-Id: Ib9a0f96007e6dc5e125bfcd39bd1ef09baebae3b Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* xcb: Fix a colormap leakUli Schlachter2012-11-021-0/+1
| | | | | | | | | The function createDummyWindow() allocated a colormap, but never freed it. Freeing it is safe after the window is created. Change-Id: I4c876568572c9e1e9dde7047850a51917ef3702f Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* XCB: Handle connection errorsUli Schlachter2012-11-021-0/+7
| | | | | | | | | | | | | | | | | | | | When the XCB connection breaks, all following XCB function calls will fail and function calls that are currently in progress will return. This means that xcb_wait_for_event() will return NULL and thus the QXcbEventReader thread will exit. This patch uses the above behavior to make sure that processXcbEvents() will be called. The error handling should always be done before normal event processing, because all XCB calls will fail once the connection is in an error state. This is especially unexpected for xcb_get_setup() which suddenly returns a NULL pointer. Task-number: QTBUG-27686 Change-Id: Ie3e4058f9d92bcbfc45934a8b36d9a7254e2b4bb Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Added MultipleWindows platform capability.Samuel Rødal2012-11-021-0/+1
| | | | | | | | | | | | | | Several platform plugins, like eglfs, kms, etc don't support multiple windows as there's no system compositor, they're rendering directly to a single back buffer. By adding a platform capability we'll be able to provide better error reporting when an application tries to create multiple QWindows on a single-window platform. Also, QML apps can use this capability to figure out whether they should create a QWindow for dialogs / popups / menus, or whether to just create items in the same scene, that are shown on top of the rest of the content. Change-Id: I15b8d21ee2bc4568e9d705dbf32f872c2c25742b Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* XCB: Use screen's client leader as fallback for transient parent.Friedemann Kleint2012-11-021-8/+10
| | | | | | | | | Modal dialogs that do not have a QWidget parent may be hidden by their parent unless they actually have a transient parent. Task-number: QTBUG-27786 Change-Id: I7847df3517e5ba6e8d77a2a18c905e908a3cd2f4 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* beef up qt_plugin.prfOswald Buddenhagen2012-11-011-4/+1
| | | | | | | it now defines the DESTDIR and creates an INSTALLS rule. Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Prevent potential crash in QXcbCursor::queryPointer().Samuel Rødal2012-10-263-12/+11
| | | | | | | | | | | xcb_get_setup might return 0, but we already have it in QXcbConnection. Task-number: QTBUG-27686 Change-Id: I58418aedd6bc121ae2b9605389beb3f6612d7fb7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add glxContextForContext function to QXcbNativeInterface.Zeno Albisser2012-10-262-1/+22
| | | | | | | | | | | This change enables receiving the native GLXContext object that is used by a QOpenGLContext in case of GLX. This clearly is non-public api that is only meant to be used as a last resort for cases where it is really necessary to get hold of a native context object. Change-Id: I7f1f974f18063ed334b8034a0c0192c875c10cec Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Don't crash if there's no m_image yet.Sérgio Martins2012-10-251-1/+4
| | | | | | | | | | | Reproducible with: QBackingStore store( &window ); store.beginPaint(QRect(0,0,500,500)); All other methods already have null pointer checks. Change-Id: Ie278a263760900b58cf4a2ef286deb7f35d50cd0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix warning about missing return value in XCB native interface.Friedemann Kleint2012-10-231-0/+2
| | | | | Change-Id: If311211076c05ed8d0fb62a9ff1129b93a813850 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Remove DRI2/OpenGL code paths from xcb plugin.Samuel Rødal2012-10-198-545/+8
| | | | | | | | | | | These were used to test QtWayland, but there are other options available for that now. The DRI2 code hasn't been maintained and doesn't even compile at the moment, so let's just remove it to de-clutter the source. Change-Id: I7db0f4db82348497b9f4d6c2dcf2e13f3ab14a76 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Small xcb startup performance optimization.Samuel Rødal2012-10-191-1/+15
| | | | | | | | Prefetch all the extensions, to avoid having to do blocking calls later. Change-Id: I1527dbf03d76372ec88bc0d5d9f7af18a4cc2a26 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Made xcb plugin work when the GLX extension is not present.Samuel Rødal2012-10-196-7/+53
| | | | | Change-Id: I9285d7524586ff404206c088019ece33335137d9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Modularize drag and drop documentationGatis Paeglis2012-10-191-19/+6
| | | | | | | | - Move dnd docs and examples out of QtDoc module to gui library in QtBase - Remove info related to Motif dnd since Qt5 doesn't implement it Change-Id: Id7eb4eb422f4294a36dd92709ce3007903371f03 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowStateRichard Moe Gustavsen2012-10-172-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set the window state if it can, and return the actual window state back. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowState would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window state upon creation). As such, the window state might be left unsynched with the platform window. This patch suggests removing the return value from QPlatformWindow::setWindowState. This will at least be consistent, so that setting/getting state would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported/actual window state. Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Document needed packages for XCB on Fedora.Niels Weber2012-10-161-0/+4
| | | | | Change-Id: I415416e82d342b232607fe7087350a9dad615f7a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowFlagsRichard Moe Gustavsen2012-10-152-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set as many of the flags it can, and return the same flags with the unsupported flags removed. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowFlags would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window flags upon creation). As such, the filtering would never be done. Looking at the current set of plugins, most of them also seems to ignore this protocol, returning the flags unfiltered. This patch suggests removing the return value from QPlatformWindow::setWindowFlags. This will at least be consistent, so that setting/getting flags would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported window flags. Change-Id: I9c759b5f9fab5ebed764a982f77fe19881118875 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>