summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
Commit message (Collapse)AuthorAgeFilesLines
* Add libxkbcommon to 3rd party libsGatis Paeglis2013-05-071-1/+8
| | | | | | | | | | This library is required by the XCB platform plugin. As we depend on very recent version of this library and it might not be available in base repositories of distributions, users can use -qt-xkbcommom switch to build Qt with the bundled version. Change-Id: I0ed2a5cc2f1df98b0e7cc926cabfa69818674e08 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* xcb: don't do mouse synthesis from touch unless we find a reasonShawn Rutledge2013-05-075-1/+43
| | | | | | | | | | | | One reason is when we are using XInput 2.2, because touch devices will then generate touch events only. For the other X11 scenarios, X11 does its own mouse emulation. QPlatformIntegration::styleHint() wasn't overridden yet. The remaining hints are TODO for now. Change-Id: I2e444a00a18b33ed840ebfa8d8218655c2c39aad Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix possible segfault when setting up window's transient parentShawn Rutledge2013-04-301-1/+1
| | | | | | | | tp->handle() can be null. Task-number: QTBUG-30919 Change-Id: Ie18b70d4cc6916d2e821a71d00d1bf99956b0632 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Add QXcbWindowEventListenerJørgen Lind2013-04-266-36/+90
| | | | | | | | This makes it possible to listen for events on xcb_window_t which are not platformwindows inside the xcb plugin Change-Id: Ic9ec17ed757a7f9a5302ef2759c119a72bac573c Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Moving logic from Qt4 for grabbing the X serverJørgen Lind2013-04-264-5/+55
| | | | | | | | | Basically you don't want to grab the X server while your debugging. Also added an environment variable which lets you force to not grab the X server Change-Id: Iba03f11c8f486ce71c55fac7716bffcb7cc8cb98 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix segfault while handling system-wide shortcuts with xcbhluk2013-04-241-1/+1
| | | | | | Change-Id: I8485031edc623f99b4b858d4f777be43f4bc3264 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Respond to the _NET_WM_CONTEXT_HELP WM_PROTOCOLS messageJan Kundrát2013-04-241-0/+5
| | | | | | | | | | | | | | | | This change restores a proper function of the "(?)" button in the window decorations which is used as a clue for the user to check what a particular widget is supposed to do. The change is only implemented for QtWidgets because the underlying QWhatsThis is inherently widget-specific -- which is why it sends an event to QGuiApplication, but only processes it in the QtWidget-specific QApplication. Thanks to Alberto Mardegan and Gunnar Sletta for their feedback on this patch. Change-Id: Ibb912e3960f1e9aec54c5ed77ade1c6744d6ca23 Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Implement startup notification spec again.David Faure2013-04-238-1/+85
| | | | | | | | | | | | | | | | | This functionality was in Qt4's qapplication_x11.cpp and was missing from the XCB QPA plugin. Ported the code from xlib to xcb. This code was actually tested (with plasma), unlike the Qt-4.8 code which skipped every other character... for (uint i = 0; i < 20 && i + sent <= length; i++) xevent.xclient.data.b[i] = message[i + sent++]; Provide a QPA native-function for accessing the startup id, for cases where an application doesn't show a window, but starts another app instead, or asks a running app to show the window on its behalf. Change-Id: If392179efddd70a51c45a8fab4fb9d753913094a Reviewed-by: David Faure (KDE) <faure@kde.org>
* qxcb: output clear error message when running on an 8-bit displayDavid Faure2013-04-231-1/+3
| | | | | | | | | | | | | | | Currently, running a Qt5 widget app in Xvfb (with its default setup, 8 bit color depth) outputs a stream of error messages, starting with: QWidget::paintEngine: QWidget::paintEngine: Should no longer be called Better output clearly the reason why we end up in that method: painting on a null image, due to the unsupported image format. Maybe this should even be a qFatal... Change-Id: Iae8f1b057518c146bf8e034999c1b5e67ce6ef5e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Read correct font hinting config on Gnome/UnityEskil Abrahamsen Blomfeldt2013-04-224-8/+49
| | | | | | | | | | | | | Fixes regression against Qt 4. This tries to recreate the logic from 5c46d9a4c85abbcc0b5db2bbbafded3efd784cd9 in Qt 4, where we on Gnome would override the default hint style specified in FontConfig with Xft.hintstyle settings. This is the configuration used for changing the hint style in the Gnome Tweak Tool. Task-number: QTBUG-29582 Change-Id: I6b9fe2c8ff55ff080d034e5a53fc8cbb49f7651f Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Implement QApplication::beep().Friedemann Kleint2013-04-192-0/+17
| | | | | | | | | | Invoke slot "beep" on QPlatformNativeInterface. Implement for Windows and X11. Task-number: QTBUG-30416 Change-Id: I2be651165b899e5147818a012001d354827bb090 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Implement alertion state for windows.Friedemann Kleint2013-04-192-1/+18
| | | | | | | | | | | | | | Add QWindow::alert() and QPlatformWindow::setAlertState(). Add logic to clear alertion state when the window becomes active. The platform plugins then only need to implement a setter and a cheap getter and need not handle activation. Prototypically implement X11 and Windows. Task-number: QTBUG-30416 Change-Id: Ia70c4722d812462a21f4034b7d52735c9f2bc49c Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-211-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * Fixed crash when VNCing and trying to use non-present XFixes extension.Mitch Curtis2013-03-151-1/+1
| | | | | | | | | | | | Task-number: QTBUG-29978 Change-Id: I1a6759bafaac7a1d2b598412f0d32077a42192a4 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Merge branch 'dev' into stableOswald Buddenhagen2013-03-2010-84/+455
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: src/gui/text/qfontdatabase.cpp src/gui/text/qharfbuzz_copy_p.h src/widgets/kernel/qapplication.cpp src/widgets/kernel/qcoreapplication.cpp Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
| * | Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * | XCB: don't map hidden windowsAlberto Mardegan2013-03-151-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug was introduced by the XEMBED implementation (carried over from Qt4, but there it applied to QX11EmbedWidget only): the _XEMBED_INFO property is used to inform the *embedder* whether the embedded window should be mapped when embedded. Task-number: QTBUG-30084 Change-Id: I8d1c467874bdee3300a1b18b8174b2d62f498713 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | XCB: support creation of OpenGL ES profilesGiuseppe D'Angelo2013-03-121-46/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GLX_EXT_create_context_es2_profile extension allows us to create OpenGL ES profiles even under a desktop OpenGL implementation. Therefore, if a OpenGL ES renderable type is requested, and we have that extension, we can fullfill the request. We also strenghten the renderable types that the XCB plugin supports (default, OpenGL, OpenGL ES). Change-Id: I94ecbbaa910ab4c6d71185a69640e79594cb7bdc Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | Implement XEmbed protocolAlberto Mardegan2013-03-065-12/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a static QWindow::fromWinId(WId id) constructor which can be used to create a QWindow object representing windows created by other processes. Then, QWindow::setParent() can be used to embed a window into a foreign window socket and QWindow::setTransientParent() to stick the current window on top of a foreign window. The changes in the QtWidgets module ensure that the focus chain (TAB navigation) correctly works when a QtWidgets-based window is embedded into another application. As far as the platform implementation is concerned, this commit only implements the embedding functionality in the XCB plugin. So, this is roughly equivalent to the Qt4 QX11EmbedWidget functionality. Change-Id: Iff8f7b9ee974d33fb30f36056f7838b433a413c7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-056-225/+92
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/mac/pbuilder_pbx.cpp src/corelib/kernel/qtimerinfo_unix.cpp src/plugins/platforms/cocoa/qcocoabackingstore.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
| * | | Fix primary screen selection.Alain Boyer2013-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When selecting the primary screen, the m_primaryScreen value obtained from the xcb_connect() call should be respected. This ensures that the proper primary screen is selected when specifying the DISPLAY environment variable. Task-number: QTBUG-27220 Change-Id: I60aa207f13d919087d4d2913141c804928684731 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * | | Pass the surface format to qglx_surfaceFormatFromGLXFBConfigGiuseppe D'Angelo2013-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of creating a default-constructed format and filling its field in, pass a pointer to an instance. This way we won't lose the renderable type set on the surface, but just fill in the other parameters. Change-Id: I1fd403671f9c677cc74aaf3c116a05f213d5d556 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | | Enforce OpenGL context creation under XCBGiuseppe D'Angelo2013-02-231-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't support other context types, so fail in those cases. Also, return OpenGL as the rendereable type of our surface. Change-Id: Ic7b5ed0ec5eaf5c0f88f50f5bceb697ea414c696 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-181-12/+13
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
| * | | | Added QOffscreenSurface class.Yoann Lopes2013-02-184-6/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inherits QSurface and allows to use OpenGL from an arbitrary thread. Platform plugins can implement QPlatformOffscreenSurface, otherwise an invisible QWindow is used by QOffscreenSurface. This patch includes an implementation of QOffscreenSurface for XCB and EglFS platform plugins using pbuffers. Change-Id: I57b4fc1db417331f34826dcfa754b7698782fde4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-142-16/+16
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| * | | | | XCB: Free cursors.Friedemann Kleint2013-01-311-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id09046a3264724025e8a383cf40a959dafb9e0db Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | | | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-291-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | refs/staging/dev
| | * \ \ \ \ Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-281-1/+1
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
| * | | | | | | Reduce invocations QString::left() in XCB key event processing.Friedemann Kleint2013-01-291-4/+5
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I6d422af4d7186356c196d6362a850f7e7b997bb4 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | | | | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-242-1/+4
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsdialoghelpers.cpp Change-Id: I4ca87d44129fa5c1d8541cd58b8d62bc69080688
| * | | | | | | Fix focus handling of native child widgets in xcb.Gunnar Sletta2013-01-243-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If4d596195624011142bff6853849a23064e478df Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * | | | | | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-2235-36/+38
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qsavefile_p.h src/corelib/tools/qregularexpression.cpp src/gui/util/qvalidator.cpp src/gui/util/qvalidator.h Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
| * | | | | | | | Regression: Fix setting of custom cursors for native widgets.Friedemann Kleint2013-01-211-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, there is no concept of not having a cursor set on a Window. Qt::ArrowCursor is always set instead. This causes bugs when native child widgets are involved, for example setting a cursor on the native widget's parent no longer works since the child's Qt::ArrowCursor applies. Introduce QWindowPrivate::hasCursor tracking whether a cursor has been explicitly set and clear in QWindow::unsetCursor(). Handle 0 in QPlatformCursor::changeCursor() to mean "unsetCursor()": - Windows: Introduce default constructor for QWindowsWindowCursor meaning "0". Search for applicable parent cursor in applyCursor. - XCB: No big changes required, set XCB_CURSOR_NONE for no cursor. - Other platforms: Assume Qt::ArrowCursor when cursor = 0 is passed for now. Task-number: QTBUG-28879 Change-Id: Id82722592f3cd5fe577a5b64dcc600c85cfea484 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | | | | | Fix sluggish resizing for opengl windows on X11Shawn Rutledge2013-03-132-4/+8
| |_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable sync protocol for OpenGL surfaces in the XCB plugin. Task-number: QTBUG-29304 Change-Id: I4cb47b04637e15e012758d3b0840abd13d27df69 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | | | | Transient QWindows centered; default-constructed geometryShawn Rutledge2013-02-241-13/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default-constructed geometry does not mean put the window at 0,0, and it does not mean center the window on the screen: it means let the window manager position the window. If the window is explicitly positioned at 0,0 though, that is a higher priority than the transient hint; without this change, the transientFor property had no effect. On X11, transient means use center "gravity" to make the transient window exactly centered. But the user can still override the geometry of a transient window, as with any window. On OSX and Windows, neither transient window functionality nor smart initial positioning are provided, so a window with no position set will be centered on the screen, and a transient window will be put at the center of its transientParent. Change-Id: I4f5e37480eef5d105e45ffd60362a57f13ec55f5 Task-number: QTBUG-26903 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | | | | | | Fix OpenGL context creation in the XCB pluginFredrik Höglund2013-02-235-212/+56
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to create a core context with OpenGL implementations that don't implement the compatibility profile or the GL_ARB_compatibility extension. Qt was effectively clamping the OpenGL version to 3.0 by assuming that the highest supported backwards compatible version is also the highest supported core version. Since there is no way to check if the implementation supports a context with a given set of attributes without trying to create the context, we have to try every known OpenGL version until we find one that's supported. Note that this commit does not fix similar breakage on other platforms. Change-Id: I9616762b059db9e6182f853ab7f24ff44dc7d529 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | | | Fix focus handling of native child widgets in xcb.Gunnar Sletta2013-02-193-2/+25
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If4d596195624011142bff6853849a23064e478df Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> (cherry picked from commit fc663b5f9aae16fe6a03160e3eb148a5f742ac58)
* | | | | | Fix the GL_CONTEXT_FLAG_DEBUG_BIT checkFredrik Höglund2013-02-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the correct enum. GL_CONTEXT_FLAG_DEBUG_BIT does not have the same value as GLX/WGL_CONTEXT_DEBUG_BIT_ARB. Change-Id: I7d90da54ca1ff526c8b00669b486a68424fc8dfb Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | | Fix the GL_CONTEXT_PROFILE_MASK checkFredrik Höglund2013-02-131-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bit mask can have more than one bit set, so we can't use a switch statement here. Also use the correct enums, and make sure that the profile is set to QSurfaceFormat::NoProfile when the OpenGL version is less than 3.2. Change-Id: I6d2c4e35d4fb3d87fd47c9724cb415f8619a7b95 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | | Fix the GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT checkFredrik Höglund2013-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I83dc92085c81b8b0c71502ea71878b5e85cbbacc Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | | Check for GLX_ARB_create_context_profile before specifying a profileFredrik Höglund2013-02-131-1/+2
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | Change-Id: Idc4982c039f8a6a304d9ce5ce6736d518fb0ef00 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | Don't ignore QSurfaceFormat::Options in the XCB pluginFredrik Höglund2013-02-121-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The XCB plugin requested a forward-compatible context regardless of whether QSurfaceFormat::DeprecatedFunctions was set, and also ignored the QSurfaceFormat::DebugContext option. Change-Id: I81c737447b554b3b6f61c2725bce7583e0e887ab Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | | | Factorize code for formatting window titles into QPlatformWindow.David Faure2013-02-061-11/+1
| |_|_|/ |/| | | | | | | | | | | | | | | Change-Id: I0dcccd08916fc2ea1b795681e9b98a9550ef51b6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | | Fix XCB plugin compilation without accessibilityOleg Shparber2013-01-251-1/+1
| |_|/ |/| | | | | | | | | | | | | | Change-Id: Ic2bee5b5c20505a866656575b5f5fb853cea4aae Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* | | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-01-241-0/+1
|\ \ \ | | | | | | | | | | | | Change-Id: Idcaa9b0c63aca5ba11ee3fa2da456178655a1ae3
| * | | Fixed copy text bug as well as potential other latent xcb plugin bugs.Samuel Rødal2013-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As Gatis found out the copy text bug is caused by the xcb plugin's handleEnterNotifyEvent() receiving an event with a seemingly random "time" member. That is however not due to a bug in the X server but rather due to a missing break statement in the event dispatching in qxcbconnection.cpp, causing an xcb_client_message_event_t to be treated as an xcb_enter_notify_event_t, and thus an xcb_window_t to be treated as an xcb_timestamp_t. The other xcb_enter_notify_event_t values would of course also be complete garbage. Task-number: QTCREATORBUG-8476 Task-number: QTBUG-28398 Change-Id: Id8c09a6682f78b646a0d1d27b0650248bbfa1046 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | | | Disable only accessibility bridge without dbus on linuxFrederik Gladhorn2013-01-231-1/+3
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keeping accessibility and only disabling the bridge will enable more builds to work. Warning about disabling accessibility disabled is needed because in QStyle it is used to discover semantics about widgets (if a toolbutton is in a toolbar). Change-Id: Iae4e6ab63479743bdd70cba4b1954ec7cf3f88e9 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | | Update copyright year in Digia's license headersSergio Ahumada2013-01-1835-35/+35
| | | | | | | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Check for GLX_ARB_create_context extension before using it.Allan Sandfeld Jensen2013-01-161-1/+3
| |/ |/| | | | | | | | | | | | | | | | | | | Mesa has started defining glXCreateContextAttribsARB even when it is not supported as a feature. To be sure it is safe to use, we need to also check if it is supported extension. Change-Id: Ie160dc2b2418a726957b59f47bd290b742562ae3 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>