summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-052-8/+9
|\ | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| * xcb qpa: initialize EGL for non-XLib buildsAndrew Knight2013-12-031-7/+8
| | | | | | | | | | | | | | | | Move the EGL initialization code outside of the XLib ifdefs, so it can be enabled for non-XLib builds as well Change-Id: Ie025551e4e99bb0b365f025356bd9725f4283b82 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Use case insensitive comparison when checking platform plugin keys.Friedemann Kleint2013-12-031-1/+1
| | | | | | | | | | | | Change-Id: Iff44698dcc941ca244b476f0e6c6a993f2ad75f3 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-293-13/+11
|\| | | | | | | Change-Id: Ibb342cc5fc55ff9a3f4b3ecbd53936b57bc13e63
| * Move the glxfbconfig configtest to qpa and rename it to glxJorgen Lind2013-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | We require glx version 1.3 which is where fbconfig is first defined. Also make use of the configure test and report the glx status. GLX support should always take precedence when compiling the xcb backend Change-Id: Ie46834210bf5cd2ac4006ff08379e0d3434ffa2b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Add new configure parameter for Xcb-XlibAndrew Knight2013-11-281-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new configuration parameter, xcb-xlib, which allows overriding the configure test for that existing configuration option. The use of xcb-xlib in the xcb platform plugin becomes the preferred path for non-OpenGL ES 2 builds, while the EGL codepath is used otherwise. This has the advantage that EGL can be used with Desktop OpenGL if Qt is configured with -no-xcb-xlib. Change-Id: I5018e31fe0399b94f020c671eff9414d00431c44 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Remove stale xcb_dri2 code in QXcbNativeInterfaceJorgen Lind2013-11-282-3/+1
| | | | | | | | | | Change-Id: Ifc8dc8d84fc60b70f8a49282dfe32cd248bef9ba Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Return the xcb_screen_t and not the QPlatformScreenJorgen Lind2013-11-271-1/+1
| | | | | | | | | | | | | | | | | | from QXcbNativeInterface. The QPlatformScreen is available from QScreen::handle() Change-Id: If81daf34c07f4a49c85c43d3755d1a9167626d6d Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-268-15/+143
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-11-262-9/+38
| |\ | | | | | | | | | Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
| | * Disable threaded GL for nouveau drivers.Gunnar Sletta2013-11-221-6/+19
| | | | | | | | | | | | | | | | | | | | | Task-number: QTCREATORBUG-10875 Change-Id: I25f3abc6ef15bba78fa9ec27de2c1e5e0bcc7fae Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| | * Workaround source compatibility issue introduced by xcb 1.9.3Gatis Paeglis2013-11-201-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous version of the struct: typedef struct { uint8_t response_type; /**< Type of the response */ uint8_t pad0; /**< Padding */ uint16_t sequence; /**< Sequence number */ uint32_t length; uint16_t event_type; uint16_t pad1; uint32_t pad[5]; /**< Padding */ uint32_t full_sequence; /**< full sequence */ } xcb_ge_event_t; New version of it: typedef struct xcb_ge_event_t { uint8_t response_type; /**< */ uint8_t extension; /**< */ uint16_t sequence; /**< */ uint32_t length; /**< */ uint16_t event_type; /**< */ uint8_t pad0[22]; /**< */ uint32_t full_sequence; /**< */ } xcb_ge_event_t; Changes are: - "pad0" became "extension" - "pad1" and "pad" became "pad0" More details in https://bugs.freedesktop.org/show_bug.cgi?id=71502 Task-number: QTBUG-34748 Change-Id: Ibd801c11510f75fa82d5c14346b95236142487ac Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-11-201-3/+24
| |\| | | | | | | | | | refs/staging/stable
| | * Avoid using GLX pbuffers on fglrxLaszlo Agocs2013-11-141-3/+16
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-34427 Change-Id: Ief4fe2fe2ab099d4ec61b6bfb2272724dfb2a800 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * Remove side effects of QGLXContext::queryDummyContext()Sean Harmer2013-11-141-0/+8
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-34782 Change-Id: I411c89238b3002a118b1750af0157ccff5c78712 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | XCB: do not assume that sizeof(long)==4Alberto Mardegan2013-11-192-8/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | The code was using the "long" type when a 32 bit type was actually needed. This can cause bugs in those systems where "long" is 64 bits wide, such as Linux x86-64 (which is LP64). Task-number: QTBUG-34861 Change-Id: Iab289b2af3847dd62d8b4ecea51896936ca4c7a2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Disable threaded rendering for Intel HD 3000 cards.Gunnar Sletta2013-11-061-4/+18
| | | | | | | | | | | | Task-number: QTBUG-34492 Change-Id: I1848cde3fb9517679fd54a7170ed5bee40880edc Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| * xcb: Compilefix #ifdef glx codeJørgen Lind2013-10-301-0/+4
| | | | | | | | | | Change-Id: I4204cab76b2621318dda909d24ceb2abab6e0ba3 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * xcb: Act on the _NET_ACTIVE_WINDOW eventJørgen Lind2013-10-301-3/+6
| | | | | | | | | | | | | | | | | | | | It happens that we don't get a focus inn event for top level windows when focus goes from a window mapped. But we do get a _NET_ACTIVE_WINDOW event. Task-number: QTBUG-34426 Change-Id: Id1d9eb708a968e0e8934e56dec19abe2dd203bc7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Silence the _COMPIZ_DECOR_* warnings on UbuntuJørgen Lind2013-10-303-1/+12
| | | | | | | | | | | | | | | | | | Earliest occurrence is to my knowledge in 12.04. It is still unclear how to act on those messages Change-Id: I7da48281c6bec973448a1d4cd800d445a80695a2 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Add QGuiApplication::sync() functionJørgen Lind2013-10-302-0/+9
| | | | | | | | | | | | | | | | | | This will allow applications to make sure Qt has the same state as the window system at any given point. The use of this function is discouraged but it is very useful for auto tests. Change-Id: I691bff365fc391e9d7213f2607008983505bb774 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| * Don't support threaded GL on chromium (virtual box GL)Gunnar Sletta2013-10-293-1/+39
| | | | | | | | | | Change-Id: I84f89450e3fce1cbbafd19dbf4509b1911e06b19 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | xcb: Only create listener window when neededUli Schlachter2013-11-152-24/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The xcb QPA plugin uses a separate thread for getting events from the X11 server in a race-free manner. This thread has to be stopped when shutting down. This is done by causing the X11 server to send a special event that causes the thread to exit when it sees it. (Also, the thread exits if the xcb connection goes into an error state, but that does not matter here) So this event listener window is only needed when Qt is sending events to itself. This means that it does not have to be kept around and instead can be created only when needed. Since this window does not stay around for long, it does not need a name. However, it does need the list of screens to find the correct root window, so destroy screens later. Change-Id: Ib4104cbc3f372fa5d1391bcf5a633a158409862f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Add swapInterval to QSurfaceFormatLaszlo Agocs2013-11-133-4/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement swap interval support for EGL, GLX and WGL. The environment variable QT_QPA_EGLFS_SWAPINTERVAL is renamed to QT_QPA_EGL_SWAPINTERVAL and can be used to override the applications' setting of the swap interval. Task-number: QTBUG-31939 Change-Id: I644325d5d3306b7604bffd7efccda3c00ed37d36 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-243-2/+3
|\| | | | | | | Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
| * Fix crash in QXcbDrag.Friedemann Kleint2013-10-231-1/+1
| | | | | | | | | | | | | | | | | | handleStatus() was called with drag==0 when releasing the mouse over the desktop. Task-number: QTBUG-33920 Change-Id: I553647d1e734934b7c6caf4c984683cff88f9162 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Fix compilation with Clang and libc++ under LinuxMarcel Krems2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | src/plugins/platforms/xcb/qxcbsessionmanager.cpp:205:80: error: use of undeclared identifier 'ERANGE' while (getpwuid_r(geteuid(), &entry, buf.data(), buf.size(), &entryPtr) == ERANGE) { src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp:173:28: error: use of undeclared identifier 'LC_CTYPE' char *name = setlocale(LC_CTYPE, (char *)0); Change-Id: Ide6f3072e9158eef412973ce0a72babb41b695f0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * set the title of the user time window not the application windowShawn Rutledge2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | 51c28cad67077500f63dbe8c0060ed19cf340c0d resulted in setting the title of the wrong window. Task-number: QTBUG-34048 Change-Id: Ia22d563e0ba9b0e074ef79ae5169c1627369c70d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-117-2/+68
|\| | | | | | | Change-Id: Ib8cfeee7d9ca15e8ad520e428b72c200827a8628
| * 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>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-047-41/+100
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/minimal/qminimalintegration.cpp src/plugins/platforms/offscreen/qoffscreenintegration.cpp Change-Id: Ica85deeab5c5038ac004718e25194b1157343480
| * 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>
* | Fix clang build for libc++Donald Carr2013-10-021-0/+1
|/ | | | | | | | | | | | | | Successfully builds Qt 5.2 with: QMAKE_CXXFLAGS_CXX11 += -std=c++11 -stdlib=libc++ QMAKE_LFLAGS_CXX11 += -stdlib=libc++ -lc++abi against: clang version 3.3 (tags/RELEASE_33/final) Change-Id: I778f9410c6563e78bc77ae4c20097fa561503ba1 Reviewed-by: Simon Hausmann <simon.hausmann@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>