summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* xcb: every window should have a title in debug modeShawn Rutledge2013-10-095-0/+59
| | | | | | | | | | | | Qt creates various invisible windows for internal purposes. Giving them all titles makes the output of tools like xprop and xwininfo more readable, which makes solving certain bugs (like transient-window bugs) easier. Task-number: QTBUG-33644 Change-Id: I9d37b40d3339fb0f81ffeae64949b88ecb655474 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-1/+1
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QPA: Fix event dispatcher dependent operations in platform integrationLaszlo Agocs2013-10-072-1/+8
| | | | | | | | | | | | | | | | | | 999e5162ec3e86c9cb84c3ec95dfd0ba4b21277f breaks QPlatformIntegration implementations that perform tasks in their constructor that rely on the event dispatcher. For example creating a QSocketNotifier is not possible anymore since the event dispatcher is created later on. This is fixed by introducing an additional virtual in QPlatformIntegration that gets called after createEventDispatcher(). Two broken platform plugins have been identified so far: eglfs is creating socket notifiers to read events from input devices and xcb's input context plugins may use dbus. Both are updated accordingly. Task-number: QTBUG-33768 Change-Id: I5badb623958a52ab5314ff93dd7d60061f5df70a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Update QSessionManager and related classes documentationSamuel Gaist2013-10-021-0/+9
| | | | | | | | | | Update the Qt 4 documentation of QSessionManager to reflect the changes in Qt 5 Task-number: QTBUG-33528 Change-Id: I74286134155efc2781f9f6fc505fb6cf736d814e Reviewed-by: Martin Smith <martin.smith@digia.com>
* Windows/Linux: Cache cursors by mask/pixmap keys and shape.Friedemann Kleint2013-10-022-15/+55
| | | | | | | | Task-number: QTBUG-33383 Change-Id: I65a5a0870f50f42c26a4d297331224b3597a36e0 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* xcb: Initialize accessibility lazily, since it requires an event-dispatcherTor Arne Vestbø2013-10-012-4/+9
| | | | | | | | | | | | | | QSpiAccessibleBridge uses a D-BUS connection, which in turn uses socket notifiers and timers internally. Neither of these can be used before a event-dispatcher is in place, so we need to defer creation of the accessibility interface until later. We assume that clients will only call QXcbIntegration::accessibility() when an event-dispatcher is set up, but to be extra safe we do an assert, so that failures of this pre-condition will trigger at the place they are caused -- not as failures to register socket notifiers and timers in the D-BUS code. Change-Id: I4f9d8362a3f285c3da9045d1ff6b8e7b04570488 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* QPA: Fix semantics of GUI event dispatcher ownership in platform pluginsTor Arne Vestbø2013-09-302-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPlatformIntegration::guiThreadEventDispatcher() function acted as an accessor to event dispatchers created in the constructor of each platform plugin, but the logic and semantics of event-dispatcher handling in Qt itself (QCoreApplication/QGuiApplication) still assumed both ownership and control over the event dispatcher, such as when to create one, which one to create, and when to delete it. This conflicted with the explicit calls in the platform plugins to QGuiApplication::setEventDispatcher(), as well as left a possibility that the event-dispatcher created by the platform plugin would never be deleted, as none of the platform plugins actually took full ownership of the dispatcher and deleted it in its destructor. The integration function has now been renamed back to its old name, createEventDispatcher(), and acts as a factory function, leaving the logic and lifetime of event dispatcher to QtCoreApplication. The only platform left with creating the event-dispatcher in the constructor is QNX, where other parts of the platform relies on having an event-dispatcher before their initialization. We then need to manually take care of the ownership transfer, so that the event-dispatcher is still destroyed at some point. Change-Id: I113db97d2545ebda39ebdefa865e488d2ce9368b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* xcb: Don't connect() to event-dispatcher until we are sure we have oneTor Arne Vestbø2013-09-302-14/+23
| | | | | | | | | | | | | | | | | | | QCoreApplication sets up the event dispatcher in the constructor, through createEventDispatcher(), which is overridden in QGuiApplication to take the platform-integration into account. The problem is that the platform integration is created before the event dispatcher, so when we create the QXcbConnection we are not guaranteed to have an event dispatcher yet. This is not an issue when using xcb_poll_for_queued_event() in a thread, but for the fallback case we connect to the event-dispatcher's awake() and aboutToBlock() signals. To ensure that we do this only when we have an event dispatcher we post a queued method invocation, that will be processed as one of the first events once there is an event-dispatcher. Change-Id: I623011af447b585884b84c7559737f134aab83e8 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-214-13/+151
|\ | | | | | | Change-Id: I37d85631ab1165ab91457d8880c4da907a9df73b
| * Fix timing issue in incremental data retrieval mechanismGatis Paeglis2013-09-192-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that we are not reading wrong PropertyNotify events. From icccm: Requestors may receive a property of type INCR in response to any target that results in selection data. This indicates that the owner will send the actual data incrementally. The selection requestor: - Waits for the SelectionNotify event. - Loops: + Retrieving data using GetProperty with the delete argument True. + Waiting for a PropertyNotify with the state argument NewValue. - Waits until the property named by the PropertyNotify event is zero-length. - Deletes the zero-length property. The issue with the current approach was that after receiving INCR we simply fetched the first PropertyNotify event from the queue, where timestamp indicates that it was generated before INCR, which is not what need. We need PropertyNotify events with a timestamp older than the one on INCR. Task-number: QTBUG-32045 Change-Id: I3b9a006f7d346f67c51e1a296d67a9dc89efadb1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Implement INCR property mechanism for large data transfers [XCB]Gatis Paeglis2013-09-193-4/+138
| | | | | | | | | | | | | | Implement INCR property mechanism according to the icccm specification. Change-Id: Ic8f85b71cab825d70ee1b61f29acd09fa4c3e642 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * xcb: QWindow never uses XCB_GRAVITY_CENTERShawn Rutledge2013-09-161-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Center gravity doesn't mean center the window, it only affects the method of converting between internal window bounds and decorated bounds. So wanting to have each dialog centered w.r.t. its transient parent is not a reason for using center gravity. Instead it caused the bug that when you resize a QMessageBox by clicking the Show Details button, it jumps downwards on the screen. Task-number: QTBUG-32473 Change-Id: I3fabf3caa1e4d10fd4f7508e297f73efe5cc51b6 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Build X11 session management only if dependencies are foundTeo Mrnjavac2013-09-203-2/+3
| | | | | | | | | | | | | | | | | | | | | | This fixes the build breakage caused by Change I50b33d05 when attempting to compile on Linux with session management enabled but libSM and/or libICE not present. Change-Id: I127f32e7041deb2ff968eae8458fee7d4e95d7a5 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: aavit <eirik.aavitsland@digia.com>
* | Use egl.prf in xcb instead of hardcoding -lEGLLaszlo Agocs2013-09-171-1/+1
| | | | | | | | | | | | Task-number: QTBUG-33494 Change-Id: I55df1acdf2c95f66a93890b4b30f14a52bee6684 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Export x11 screen of the QXcbConnection to the native interfaceMartin Gräßlin2013-09-172-2/+16
| | | | | | | | | | | | | | | | | | | | | | With XCB a client cannot retrieve the information on which X screen it is running. This information is only available when opening the xcb connection. As this is done by Qt no application is able to retrieve this information. By exporting the x11 screen we can provide this information again in QtX11Extras. Change-Id: I50f1d3e803dc7e3afac0e5c7f1648ccda4502e7c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove useless code setting but not using variablesThiago Macieira2013-09-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | Clang 3.3 found a variable assigned to itself, probably to cause GCC to shut up about a variable set-but-unused. So simply stop assigning the value at all to this variable. qxcbxsettings.cpp:155:16: error: explicitly assigning a variable of type 'uint' (aka 'unsigned int') to itself [-Werror,-Wself-assign] Change-Id: I74ae8f724e87c1b3f6b9d358e13d6a440ff4a3e1 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | remove unnecessary beginPaint and endPaint overridesShawn Rutledge2013-09-162-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | QPlatformBackingStore::endPaint does not take a QRegion parameter. 6ce6b8a378b0d97ba950240ffb048a4b7e485235 set the API, but the platform implementations were not all synced up since then. There was anyway no point in overriding beginPaint and endPaint on platforms which don't need to do anything there. This fixes clang warnings of the form QXcbBackingStore::endPaint hides overloaded virtual function Change-Id: Id6cd0fc2c831a34576ac2c73eeb0d5741d26e622 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Bring back Qt4 X11 session management functionality.Teo Mrnjavac2013-09-135-0/+622
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added QXcbSessionManager to the Xcb plugin. QXcbSessionManager inherits from QPlatformSessionManager, it's a port of QSessionManager as it is in Qt 4.8. Minor changes also in QPlatformSessionManager and QGuiApplication to hook it up. Task-number: QTBUG-28228 Task-number: QTBUG-30011 Task-number: QTBUG-33033 Change-Id: I50b33d05a1e32c5278dea339f693713acc870a70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | QXcbSystemTrayTracker::trayWindow compiles if Q_XCB_DEBUG is onShawn Rutledge2013-09-121-1/+1
| | | | | | | | | | | | | | | | Fixes qxcbsystemtraytracker.cpp:125:134: error: 'connection' was not declared in this scope Change-Id: If881aa9466ea94d5392da9f177e4b79e044710b7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Replace XCB native interface resource map by a lookup function.Friedemann Kleint2013-09-081-43/+23
| | | | | | | | | | | | | | | | | | Remove global variable and duplicated lookup in the old code (map.contains() followed by map.value()). Change-Id: Id68c34bf38c6706db69dcb8422c3b1ea718aa064 Y# issue or contains a behavior change that is relevant to others, Reviewed-by: David Faure <david.faure@kdab.com>
* | Remove qFind usages from the XCB pluginGiuseppe D'Angelo2013-09-062-10/+13
| | | | | | | | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: Ieccef12c617276d0526ce2876fd76e37b4240a43 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Change QXcbConnection::atom() to be inline.Friedemann Kleint2013-09-052-6/+1
| | | | | | | | | | | | Change-Id: I88b5b2527808f7c603c5a041df9c8c9e8031a608 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Compile fix in qxcbwindowhjk2013-09-051-1/+1
| | | | | | | | | | | | | | | | There was a error: narrowing conversion of 'Myns::XEMBED_VERSION' from 'unsigned int' to 'long int' inside { } [-Werror=narrowing] Change-Id: I1e155870b0b632bfe5ffa9deac69c4f151f5aa23 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Enable XSync extension also for KWinMartin Gräßlin2013-09-041-1/+1
| | | | | | | | | | | | | | | | KWin supports the XSync extension. Since the check got added the XSync implementation in KWin got reworked (release KDE SC 4.8). Change-Id: I15c37fe4dd5501ca107b90a07ae8d70295ffaeda Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-272-0/+7
|\| | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * XCB: Fix race with the event threadUli Schlachter2013-08-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The XCB backend runs a thread which gets events out of the XCB event queue and feeds it to the main thread via another queue. This queue is protected by a mutex. However, when the event thread exits, it cleans up after itself and frees all remaining entries in the queue. This code messed with the event queue without acquiring the needed mutex and left behind a list full of stale pointers. Fix this and protect the freeing with the correct mutex and clear the event queue afterwards. Change-Id: Ie49cf6241b76be86d8cebbc931f7226a3f6a14e5 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * QXcbBackingStore: don't crash in flush() if no platformWindowShawn Rutledge2013-08-211-0/+4
| | | | | | | | | | | | Task-number: QTBUG-32681 Change-Id: Iec7204985867a8d65cea393ba6ab66d328a5e7b2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Thiago Macieira2013-08-221-3/+5
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-211-3/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/src.pro Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
| | * xcb: Fix TouchPointPressed being sent multiple times.Jocelyn Turcotte2013-08-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XI2 sends events for individual touch points, but QTouchEvent sends all of them with a stationary state if they didn't change. If a touch pressed event is received, and the next XI2 event is about a different touch point, we wouldn't update the state of the previously pressed touch point. Change-Id: I1ebcbea1cea54872064ef7710e2aac7b0b41cd70 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | XCB: Suppress warnings about unhandled client messages.Friedemann Kleint2013-08-211-3/+5
|/ / | | | | | | | | | | | | | | | | | | | | Introduced by the tray icon refactoring d8090022f66cc6cff6af5ed2ae702212fd172ff7 among other things. Task-number: QTBUG-33068 Change-Id: I7c536c68acc2fae39ca30afb401500d0dc8701b1 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | XI2 touch support: must call deviceForId to create the deviceShawn Rutledge2013-08-161-2/+4
| | | | | | | | | | | | | | | | | | | | After change 4dbf574b7acb7ae8f852219700afa95f8d568f0e touch worked only if XI2_DEBUG is turned on. That is because it creates the QTouchDevice and calls QWindowSystemInterface::registerTouchDevice, which must be done at startup so we can receive events. Change-Id: I9446d72bc702fbd819bf26bcdc2a3d657180f642 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-08-164-44/+84
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-144-44/+84
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| | * Fix QDialog position shift bug after resize.Balazs Domjan2013-08-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Linux (XCB), resizing a dialog shifts its position. The fix corrigates the geometry of the dialog to the right values. Task-number: QTBUG-32473 Change-Id: I6d38539a3ebc3b95eacc7f13a76f83fc9e4d821c Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Merge branch 'release' into stableSergio Ahumada2013-08-092-22/+51
| | |\ | | | | | | | | | | | | Change-Id: I5e94c4f01564df633c9925561ebb0b553bd31a2e
| | | * Fix handling of non-latin1 shortcutsGatis Paeglis2013-07-312-22/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables non-latin1 shortcut handling on Qt5/X11. Task-number: QTBUG-32274 Change-Id: Ia084258b956128ffade8eddfbcb18af334d79a59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | Fix stuck modifier issue in the non-xcb_xkb code pathGatis Paeglis2013-08-021-19/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since updating the xkb_state throght core events is more tricky (opposed to the xcb-xkb code path) where we have to use xkb_state_update_key, we need to make sure that our local state is in sync with the X server's state. The local state was getting out of sync if key was pressed down in a Qt application and released in other X client (by changing the focus to another window with a mouse, for example). Task-number: QTBUG-32660 Change-Id: I662bf5aad3ab0e8591109994e746d85ff61ad6ef Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | xcb: mouse wheel does not focus a windowShawn Rutledge2013-07-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The window should react to the wheel event (e.g. scroll content) but without becoming focused; this is the X11 convention. Task-number: QTBUG-32517 Change-Id: I7e12425e5a6e1549b7f23dc318612a436c24d14b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | xcb: Fix minor leaks in XSettings codeUli Schlachter2013-07-251-1/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If some of the X11 requests fail, QXcbXSettings::QXcbXSettings() prints a warning and returns. These error paths all caused memory leaks. Change-Id: Idfecf03dd412c35552c3bbbebdda9c039aeadc13 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | / XCB: Ignore _NET_WM_PING on the root windowUli Schlachter2013-08-161-0/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With a _NET_WM_PING message, a window manager can check if an application still works or if it froze. The WM sends such a message to the application window and the application sends the message back to the root window. Since change Ia04268b0 / commit d8090022f "Move the X11 system tray code from widgets into XCB-plugin.", Qt selects StructureNotifyMask on the root window. Due to this, we now also receive replies to _NET_WM_PING and treat them like a _NET_WM_PING request. This caused an endless loop as soon as any _NET_WM_PING was seen where Qt would send a _NET_WM_PING to itself and handle it again and again. Fix this by ignoring _NET_WM_PING messages that are sent to the root window. According to EWMH, such messages can only be replies to _NET_WM_PING and GTK does this, too. Task-number: QTBUG-32957 Change-Id: I1b0aa682f99b17d633baacc14b18b3adca7a1aba Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Implement support for global whatsthis on WindowsSimon Hausmann2013-08-131-2/+1
| | | | | | | | | | | | | | Task-Number: QTBUG-32835 Change-Id: Ifee10d815ce0037c96eda574ab9e1af67ff6bd78 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Pass Xcb errors through the native event filterMartin Gräßlin2013-08-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far only the xcb plugin is able to handle xcb errors and there is no way for an application to get access to the errors even if the app is using xcb directly. This means Qt is filtering out all xcb errors which are relevant to the app and at the same time the xcb plugin is getting spammed with errors it did not cause and which are logged with a qWarning. By passing the error event through the native event filter an app can filter out all errors it knows to have caused. Change-Id: I158deee2e1c71630f2b1d77174f1091532851b3d Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Export getTimestamp to the native interfaceMartin Gräßlin2013-08-072-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | The functionality to get the current x11 timestamp is also needed by applications which need to interact with the X11 directly. With XCB it is not possible to inspect the event queue and by that an application is not able to retrieve the current timestamp using the property change pattern and waiting for the matching event. Change-Id: Ie7ba78ecbe509ed3a902c702266917f65bf5ad07 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Move the X11 system tray code from widgets into XCB-plugin.Friedemann Kleint2013-07-309-3/+350
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add system tray tracker class to XCB plugin and provide functionality via invokable slots of the native interface. - Remove XLib-dependency of widgets/utils. - Reintroduce tracking of tray window destruction and recreation, which was removed in the XLib-code when porting it from Qt 4 to Qt 5. This paves the way for implementing the tray icon completely in terms of QPlatformSystemTrayIcon at some point later. Change-Id: Ia04268b0e2919c05874a3e9548930535332897c7 Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | XCB: Readd support for -name command line argument.Friedemann Kleint2013-07-252-0/+7
| | | | | | | | | | | | | | | | Task-number: QTBUG-27349 Change-Id: I85390942927cd1c54f76fd7ddc0f3487c7205b57 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-07-246-7/+62
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-236-7/+62
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
| | * xcb: Don't use Xlib's XBell() functionUli Schlachter2013-07-221-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XBell() just sends a Bell request to the X11 server. This can be done equally well (and with less ifdefs) through xcb's xcb_bell(). Change-Id: If41d955aa97acfe9e0a8b9fce05c11ebc146ce8e Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Prevent activation of windows with Qt::WindowDoesNotAcceptFocus.Friedemann Kleint2013-07-221-1/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-32385 Change-Id: I307e2a3e5157b351663940d5d02fc16b3127b5dd Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>