diff options
author | Tom Cooksey <thomas.cooksey@nokia.com> | 2010-04-21 15:59:40 (GMT) |
---|---|---|
committer | Tom Cooksey <thomas.cooksey@nokia.com> | 2010-04-22 14:38:08 (GMT) |
commit | 0c77187652b976c3b9a17e95311bda3e3d8a6fbe (patch) | |
tree | b6df8fd0c7b0c16d3f504a41a0264f85389958b7 /src/gui/painting/qwindowsurface_p.h | |
parent | 1a00c7dec743c05b0f64bcacc03b3d2c90ac881d (diff) | |
download | Qt-0c77187652b976c3b9a17e95311bda3e3d8a6fbe.zip Qt-0c77187652b976c3b9a17e95311bda3e3d8a6fbe.tar.gz Qt-0c77187652b976c3b9a17e95311bda3e3d8a6fbe.tar.bz2 |
QX11GL: Cleanup the window surface & remove some synchronisation
Previously we were calling all manor of synchronisation calls to
make sure there were no issues. These have been sanitised to just
use eglWaitClient and eglWaitNative and only in places which need
it. There is still a bug where small updates will sometimes result
in small horizontal streaks. However, this has been confirmed to be
a cache flush bug in the X server 2D driver. The driver bug is
tracked in Meamo bugzilla as bug 164941. Hopefully it will be fixed
soon.
Reviewed-By: TrustMe
Diffstat (limited to 'src/gui/painting/qwindowsurface_p.h')
-rw-r--r-- | src/gui/painting/qwindowsurface_p.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/painting/qwindowsurface_p.h b/src/gui/painting/qwindowsurface_p.h index e6ee5f6..6171ae8 100644 --- a/src/gui/painting/qwindowsurface_p.h +++ b/src/gui/painting/qwindowsurface_p.h @@ -73,8 +73,12 @@ public: QWidget *window() const; virtual QPaintDevice *paintDevice() = 0; - virtual void flush(QWidget *widget, const QRegion ®ion, - const QPoint &offset) = 0; + + // 'widget' can be a child widget, in which case 'region' is in child widget coordinates and + // offset is the (child) widget's offset in relation to the window surface. On QWS, 'offset' + // can be larger than just the offset from the top-level widget as there may also be window + // decorations which are painted into the window surface. + virtual void flush(QWidget *widget, const QRegion ®ion, const QPoint &offset) = 0; virtual void setGeometry(const QRect &rect); QRect geometry() const; |