summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbwindowsurface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbwindowsurface.cpp')
-rw-r--r--src/plugins/platforms/xcb/qxcbwindowsurface.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindowsurface.cpp b/src/plugins/platforms/xcb/qxcbwindowsurface.cpp
index ad91c34..e3b2c6c 100644
--- a/src/plugins/platforms/xcb/qxcbwindowsurface.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindowsurface.cpp
@@ -52,6 +52,9 @@ QXcbWindowSurface::QXcbWindowSurface(QWidget *widget, bool setDefaultSurface)
{
setStaticContentsSupport(false);
setPartialUpdateSupport(false);
+
+ QXcbScreen *screen = static_cast<QXcbScreen *>(QPlatformScreen::platformScreenForWidget(widget));
+ setConnection(screen->connection());
}
QXcbWindowSurface::~QXcbWindowSurface()
@@ -68,15 +71,12 @@ void QXcbWindowSurface::flush(QWidget *widget, const QRegion &region, const QPoi
Q_UNUSED(region);
Q_UNUSED(offset);
- QXcbScreen *screen = static_cast<QXcbScreen *>(QPlatformScreen::platformScreenForWidget(widget));
QXcbWindow *window = static_cast<QXcbWindow *>(widget->window()->platformWindow());
- xcb_connection_t *xcb_con = screen->connection()->connection();
-
- m_gc = xcb_generate_id(xcb_con);
- xcb_create_gc(xcb_con, m_gc, window->window(), 0, 0);
+ m_gc = xcb_generate_id(xcb_connection());
+ xcb_create_gc(xcb_connection(), m_gc, window->window(), 0, 0);
- xcb_put_image(xcb_con,
+ xcb_put_image(xcb_connection(),
XCB_IMAGE_FORMAT_Z_PIXMAP,
window->window(),
m_gc,
@@ -89,8 +89,8 @@ void QXcbWindowSurface::flush(QWidget *widget, const QRegion &region, const QPoi
m_image.numBytes(),
m_image.bits());
- xcb_free_gc(xcb_con, m_gc);
- xcb_flush(xcb_con);
+ xcb_free_gc(xcb_connection(), m_gc);
+ xcb_flush(xcb_connection());
}
void QXcbWindowSurface::resize(const QSize &size)