summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Change remaining uses of {to,from}Ascii to {to,from}Latin1 [QPA plugins]Thiago Macieira2012-05-041-1/+1
| | | | | | | | | | | This operation should be a no-op anyway, since at this point in time, the fromAscii and toAscii functions simply call their fromLatin1 and toLatin1 counterparts. Task-number: QTBUG-21872 Change-Id: I4aef078ea87ecd3699de107d1e9352d9fb6d6e39 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Update QXbWindow orientation APILauro Neto2012-05-022-2/+2
| | | | | | | | | | | | | After orientation handling was split in window orientation and content orientation QXcbWindow remained with the old api. This patch renames setOrientation to handleContentOrientationChange, fixing the issue of double status bar (portrait and landscape) when running Qt5 apps with QtComponents on N9 in portrait mode. (thanks to Simon for pointing out the difference between changing the window and the content orientations) Change-Id: I20d0be0c7f7e4593ac1e3c2ac2518144fc7fed0e Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Fix warningOlivier Goffart2012-05-011-0/+1
| | | | | | | | qxcbnativeinterface.cpp:209:8: warning: unused parameter ‘context’ [-Wunused-parameter] Change-Id: I0c90e94020907cf84626af9f3fef3e6746182431 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-162-78/+97
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
| * XCB: Compress window state change events.Friedemann Kleint2012-04-112-78/+97
| | | | | | | | | | | | | | | | | | | | - Avoid sending Window State change events from WM_STATE/NET_WM_STATE changes irrelevant to Qt::WindowState. - Introduce QFlags for the NetWmState getter and setter to avoid passing QVector<> around. Change-Id: I74730928c7fffca0fa1cab3b90ded90b06304c06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-105-144/+60
|\| | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * Pass autorepeat info to input context key filtering with XCBPekka Vuorela2012-04-031-12/+19
| | | | | | | | | | Change-Id: Ifbb658dde6689543f48ed8fb82109ea07bcf8bd7 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * XCB: Simplify xcb error handlingUli Schlachter2012-03-274-132/+41
| | | | | | | | | | | | | | | | | | | | | | Instead of getting errors just to feed them to the default error handle, the corresponding unchecked request is used which automatically makes errors go to the default error handler. Change-Id: Ib213a860affb72de6f9896f68505e283a809d58f Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Merge master into api_changesKent Hansen2012-03-278-1286/+13
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
| * Remove dummy impl. of shared graphics cache in XCB pluginEskil Abrahamsen Blomfeldt2012-03-267-1279/+2
| | | | | | | | | | | | | | | | | | This implementation was disabled and didn't really work properly, so it doesn't make sense to update or do bug fixes to it. Removing it completely instead. Change-Id: I62abe35f0f9a91bb207b87296d25c3c62d58228e Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
| * Use XCB_TIME_CURRENT_TIME instead of CurrentTime from X.h in xcb plugin.Samuel Rødal2012-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | The less X header dependencies the better, we might at some time in the future be able to do without the XCB_USE_XLIB define as well. Change-Id: Ib45986036febef70798851ee8455e054eafc9d22 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * Fix building the XCB platform pluginThiago Macieira2012-03-241-1/+2
| | | | | | | | | | | | | | | | The dlxxx functions are in libdl and the xcb_shm functions are in libxcb-shm. Change-Id: I412e1df4dc2939b7dac4f6b244c46e23c79da630 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * xcb: fix (negative) coordinate handlingMarc Mutz2012-03-241-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason, XCB accepts positions as unsigned integers, even though the X protocol explicitly allows negative values (windows overlapping the left/top screen border). After discussion with Samuel and Laszlo, use a reinterpret_cast to convert from the signed representation to the unsigned one. I also extended the clipping of the extents to the position. I guess if X can't handle widths beyond XCOORD_MAX, it won't be happy with x-coordinates exceeding that limit, either. Change-Id: I2fa0e61f823b6cd45dad6471eaa55f38bb3c3e52 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
| * Implement QSystemTrayIcon for X11.Friedemann Kleint2012-03-231-0/+1
| | | | | | | | | | | | | | Reimplement using a QWidget. Use X Change-Id: I7f8326598fb7210d59bc1d682cdada4526d5b6dd Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Merge master into api_changesKent Hansen2012-03-233-1/+8
|\| | | | | | | Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
| * Fix compilation: std::min is in <algorithm>Thiago Macieira2012-03-221-0/+1
| | | | | | | | | | Change-Id: I89227bb9fca0f081a232c2ede10c4d455edb2ee9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Fixed QScreen::name() return value on xcb.Samuel Rødal2012-03-221-1/+5
| | | | | | | | | | | | | | | | Previously the primary sceen number wasn't stripped before adding the actual screen number, resulting in names such as ":0.0.0". Change-Id: Ifbcf12dcf1c200fd6bc5e4b95a5d82483957e0d2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * Improves configure checks for XCB.Bradley Smith2012-03-191-0/+2
| | | | | | | | | | | | | | | | | | The XCB plugin requries libxcb >= 1.5. Configure and config.tests/qpa/xcb now check for this. Change-Id: I96c688b79bf5b49fd3ecc4ddc12ebdc2d3788790 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | Got rid of Map / Unmap events in favor of Expose event.Samuel Rødal2012-03-222-3/+24
|/ | | | | | | | | | | | | | | | | | Since change 2e4d8f67a871f2033 the need for Map and Unmap events has gone away, as now the Expose event is used to notify the application about when it can start rendering. The Map and Unmap events weren't really used except by QWidget to set the WA_Mapped flag, which we now set based on the expose / unexpose. Also guarantee that a Resize event is always sent before the first Expose, by re-introducing an asynchronous expose event handler. Since an expose is required before rendering to a QWindow, show a warning if QOpenGLContext::swapBuffers() or QBackingStore::flush() if called on a window that has not received its first expose. Change-Id: Ia6b609aa275d5b463b5011a96f2fd9bbe52e9bc4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix compiling with --no-accessibilityJerome Leclanche2012-03-152-0/+10
| | | | | | | | Adds missing QT_NO_ACCESSIBILITY checks where required to build without accessibility support. Change-Id: Id98ecdcb9b351289b21dc2d382100d0b63857db9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Fixed incorrect reporting of child window geometry in xcb plugin.Samuel Rødal2012-03-151-1/+1
| | | | | | | | We should only query the position for top levels, otherwise trust the position given in the event. Change-Id: Ic29f25983af3e2c2f27eeb527c08069435ac938c Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Refactor theme plugin loading.Friedemann Kleint2012-03-152-6/+10
| | | | | | | | | | | | | | | | | | | | In the old implementation, the QPlatformIntegration was asked for the theme first, so there was no way of overriding that by a custom plugin. Also, there was a memory leak in case the platform theme was actually created by a plugin. QGuiApplication now asks the QPlatformIntegration for a list of potential theme names first, tries to load them using the plugin loader and finally invokes a factory method of QPlatformIntegration in case that fails. The theme is now owned by QGuiApplication. In the XCB plugin, the environment variable DESKTOP_SESSION is queried and appended to the list of themes, making it possible to load plugins for other session types. Change-Id: I1a4b4e061815bca16c65b23e591bb7563a3e44e2 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Made sure first created xcb window still receives focus.Samuel Rødal2012-03-141-1/+2
| | | | | | | | | | | | Change 50ca45f059524293790 caused mapped windows to not receive focus by default. The _NET_WM_USER_TIME spec says that if the user time is set to 0 (or CurrentTime), the window will not be initially focused. Thus, if the connection time has not yet been set, we skip this part to restore the old behavior. Change-Id: I19de3602c78629ad2bc65f5e1976313949c82c4c Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove stale references to QtopiaDonald Carr2012-03-121-36/+0
| | | | | | | | | Change-Id: Idd9b5fae8f6a0273636a878325e82e5664a40d43 Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* XCB: Implement native events for for windows.Friedemann Kleint2012-03-103-6/+18
| | | | | Change-Id: Iacea1231b49ebe57da96f4012d3f314e1b037105 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Defer window activation if the window hasn't beenn mapped yet.Lars Knoll2012-03-082-1/+8
| | | | | Change-Id: I60d616fc60d3be9b55ab2599abadede5f7c11f93 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QCursor: Associate cursor with screen.Friedemann Kleint2012-03-073-1/+7
| | | | | | | | | | | | | | | | | | | | | | - Introduce cursor() accessor to QPlatformScreen. - Remove screen member of QPlatformCursor (a cursor can be shared by multiple screens of a virtual desktop). - Add QCursor::pos()/ QCursor::setPos() taking a QScreen-parameter, use primaryScreen() for old overloads. QCursor::pos() can then query the platform cursor for the position and return the position even if the mouse position is outside the windows owned by the Qt application. - Fix tests Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Task-number: QTBUG-22457 Task-number: QTBUG-22565 Task-number: QTBUG-20753 Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Worked around Metacity crashes in xcb plugin.Samuel Rødal2012-03-061-0/+2
| | | | | | | | | | | Setting the user time before mapping the window seems to prevent the crasher from happening. We used to set the user time before mapping in Qt 4.8 too, so it's probably the right thing to do. Task-number: QTBUG-24462 Change-Id: Ia670b799bd1ed7a7e6399631d5242e57324918b3 Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Cleaned up debug and warning output in xcb plugin.Samuel Rødal2012-03-0210-38/+40
| | | | | | | | | Got rid of unnecessary debug output, and prefixed debug / warnings with class name to provide more context. Change-Id: Ia68e85ec0207de4d87d02226bdf6e4cddf464afc Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* xcb: Check for SHAPE extension before using itUli Schlachter2012-03-023-4/+34
| | | | | | | | | | | | | This change makes sure that the X11 server really supports the SHAPE extension before it is used. Before this, libxcb would disconnect from the server as soon as it was told to send a SHAPE request to a server which doesn't support SHAPE. Oh and of course it would do so without any good error message. Change-Id: I5f9481e488925e74e62f229e9f637ef262020c04 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix QApplication autotest crash when running on multiple screensMiikka Heikkinen2012-03-021-1/+3
| | | | | | | | | | Screens need to be destroyed in reverse order to ensure the primary screen stays valid when other screens are destroyed. Task-number: QTBUG-24300 Change-Id: I9d9d710aa67ec045baa8bf292833ffe7d9eea935 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Unset _NET_WM_USER_TIME_WINDOW before destroying the windowJan Arne Petersen2012-03-011-0/+8
| | | | | | | | | | Otherwise metacity was crashing when a QWindow was destroyed immediately after being activated, because metacity was trying to select events (XSelectInput) for the already destroyed m_netWmUserTimeWindow. Task-number: QTBUG-24492 Change-Id: Iedbe7bdd6b26110ca8bec6f33525209ae551ffd5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Take into account input shaping in findRealWindowAlbert Astals Cid2012-03-013-19/+27
| | | | | | | | | | | | | | In previous commits we took into account bound shaping, but X also supports input shaping, so make sure it's inside both input and bounding shaping to consider the position as inside a window My tests show that when unset Bound Shaping and Input Shaping return the rectangle of the window itself, so we need to be inside both of the rectangle sets to consider the position as a dragabble position for the window Change-Id: I77973e51168d2a6d274d166f29f32e1bc02c32c3 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add support for _NET_ACTIVE_WINDOW on xcbJan Arne Petersen2012-03-011-2/+23
| | | | | | | | | | | | | | | Use a _NET_ACTIVE_WINDOW client message instead of xcb_set_input_focus for activating toplevel windows on xcb. According to the Extended Window Manager Hints the right way to activate a top-level window is using _NET_ACTIVE_WINDOW (when it is supported by the WM). Other approaches like calling xcb_set_input_focus should be avoided when possible, since the WM cannot intercept them. Change-Id: I9be4901f56cbcfb563baf73ccd71ff17a9bdc1d2 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Refactor the QPA dnd interface.Friedemann Kleint2012-02-294-271/+180
| | | | | | | | | | | | | | | - Give QPlatformDrag a synchronous drag() function returning the Qt::DropAction - Move the base functionality for asynchronous event handling to the platformsupport library as QBasicDrag (extendable base class handling drag icon and providing new virtuals) and QSimpleDrag (sample implementation for drag within the Qt application). - Change the Windows implementation accordingly. - Change XCB to be based on QBasicDrag. - Clean up QDragManager. Change-Id: I654f76f0e55a385ba189bd74f3ceaded6a8fe318 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QClipboard: Fix autotest failsDebao Zhang2012-02-271-0/+1
| | | | | | | | | | | | | | | tst_qclipboard.cpp still has Q_WS_WIN which must be clear away. After clean up, auto test will fail under windows: When setMimeData() is called, dataChanged() signal will be emited twice. The solution for QTBUG-24184 has partially solved the problem, but it still there. Make sure emitChanged() only called by QPlatformClipboard will give our more control for this. Task-number: QTBUG-24484 Change-Id: I23566c6d3b32828b6865234c311af3635fe9e299 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* XCB No longer lists ThreadedOpenGL capabilityAlan Alpert2012-02-241-6/+1
| | | | | | | | Even with the more recent libxcb, it's a bit flaky. Just don't list having this capability until it is more stable. Change-Id: I1c2b39d757803fc23295944bc9a00e39ff4e1bbf Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Add WindowDoesNotAcceptFocus flag and use it in xcbJan Arne Petersen2012-02-232-0/+25
| | | | | | | | | | | Add window flag to support windows which should not get the input focus. Sets the input field in the WM_HINTS structure of the window to false if the WindowDoesNotAcceptFocus flag is set on a window in xcb. Change-Id: Ifbc10695b83484c17dca0eb13ea826d74f174833 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Use requested window format to match rest of the patch in 38257651Tor Arne Vestbø2012-02-211-1/+1
| | | | | | | | | Otherwise we end up with an error at runtime: QEGLPlatformContext::makeCurrent: eglError: 3009, this: 0x4b5c58 Change-Id: I1e794f427243e40f0a8f572a936b9fb756e89f8a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove QPlatformIntegration/QPlatformTheme from QGuiAppPrivate.Friedemann Kleint2012-02-202-0/+3
| | | | | | | Forward-declare instead. Change-Id: I3851994e8bc05b389e94e948478339ba33d521c1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add palette() and further hints to QtGui/QPlatformTheme.Friedemann Kleint2012-02-172-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | - Move palette() from deprecated QtWidgets/QGuiPlatformPlugin to QtGui/QPlatformTheme, Make it return a const * since QPalette does not have isNull(). - Initialize QGuiApplication::palette() and QApplication::systemPalette() from it. - Do not initialize QPalette from QGuiApplication::palette() unless app_pal is non-null (default to Qt::black if it is 0). This avoids initialization order crashes/recursions in the QPA plugin. Streamline initialization function. - Remove styleName(), systemIconThemeName() and iconSearchPaths() from QGuiPlatformPlugin and re-add them as QPlatformTheme::themeHint(). - Remove styleHint() from QGuiPlatformPlugin, add it to QPlatformTheme::themeHint(). - Add UNIX themes with factory function (Generic, KDE, Gnome), taking it from Qt 4.8 code (stripping the KDE 3 code). - Implement Windows palettes. Task-number: QTBUG-24204 Change-Id: Ie27ec035df4f84c42deaffc4816b2e53ce705462 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix naming of plugins for QPA plugins and use new plugin system.Friedemann Kleint2012-02-173-2/+9
| | | | | | | | | - Fix naming "com.nokia" -> "org.qt-project" in platform integration & platform theme. - Adapt Windows, XCB, Cocoa, Minimal. Change-Id: I7834f5c3d94473b6f06c1bffee074a70ee25f426 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* xcb: avoid use of statically-sized QListMarc Mutz2012-02-171-18/+15
| | | | | | | | | | | Change the use of QList<QPair<>> to a simple C array of xcb_keycode_t*s. This is possible since the number of elements in the container is statically known. I have not measured speedup; this is just preventing premature pessimisation. Change-Id: I8855fc8a4e7ee840d8b7497ec4166074da7d8ea8 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Compile without OpenGL.Samuel Rødal2012-02-123-1/+5
| | | | | | | | | Since a GLuint returning virtual was added to QPlatformOpenGLContext we need to make sure it's protected by #ifndef QT_NO_OPENGL. Change-Id: Id2f56ccdccc3863986250ee1b3aa7efccf88ba5c Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Add QPlatformServices class.Friedemann Kleint2012-02-102-1/+13
| | | | | | | | | | | | | | | - Add QPlatformServices as back-end for QDesktopServices. - Bring back UNIX/Linux desktop detection in platformsupport as a generic implementation. - Add Windows implementation. Reviewed-by: Morten Johan Sorvig <morten.sorvig@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Anselmo Lacerda S. de Melo <anselmo.melo@openbossa.org> Change-Id: If94bb65755df4f849edd83c57143ee2c73002137 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix xcb's native resource getters.Laszlo Agocs2012-02-101-2/+10
| | | | | | | | | | | Returning pointers to unexpected types for unknown keys is quite wrong. The clients expect 0 in such a case but what they got (until now) was whatever was associated with the default constructed enum value. Change-Id: Iefd7bf461bfb2c1f4c73f5f9f291aecad60219eb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
* Properly read back the actual format in xcb and xlib plugins.Samuel Rødal2012-02-103-7/+10
| | | | | Change-Id: Iccef2c4a87863b93914b84edf3a6015dad5e512a Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Take into account shaping in findRealWindowAlbert Astals Cid2012-02-091-3/+25
| | | | | | | | | | | | | | It can happen that there is a window covering all the screen but it is shaped to only take part of the screen. If that happens, besides the condition of QRect(attr.x,attr.y,attr.width,attr.height).contains(pos) we also need to query the server for its region rectangles and make sure the cursor is inside one of those rectangles. If that does not happen we have to return 0 so the hierarchical xcb_query_tree_children xcb_query_tree_childrenntinues Change-Id: I67327672e3d854d064190b55a07bd56ade4dfddb Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* xcb: Check for SHM extension before using itUli Schlachter2012-01-311-2/+6
| | | | | | | | | | | If we call any xcb_shm_*() function, libxcb will have to figure out SHM's major number. However, if that fails because the SHM extension is not available, xcb will disconnect from the server. Obviously, that's not what we want and must be avoided. Change-Id: I8eba5ff9e84e0e2017a5c0d88fda4efd0459bd1e Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* xcb: Check for SYNC extension before using itUli Schlachter2012-01-311-1/+5
| | | | | | | | | | | If we call any xcb_sync_*() function, libxcb will have to figure out SYNC's major number. However, if that fails because the SYNC extension is not available, xcb will disconnect from the server. Obviously, that's not what we want and must be avoided. Change-Id: I9a1032e1cfac074a52bafcb0772304bfd423e770 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>