diff options
author | Bernd Weimer <bweimer@blackberry.com> | 2014-06-30 16:42:13 +0200 |
---|---|---|
committer | Bernd Weimer <bweimer@blackberry.com> | 2014-08-29 11:55:13 +0200 |
commit | 032ab648c44796b3b5bdc3d93a507efc60ac4391 (patch) | |
tree | ccae731b4cea5c4254615a6536cec47356bc81ca /src/plugins/platforms/qnx/qqnxrasterbackingstore.h | |
parent | e5a332ae54b4aaf598b6b97a3e7e5f876abf28f4 (diff) | |
download | qtbase-032ab648c44796b3b5bdc3d93a507efc60ac4391.tar.gz |
QNX: Fix widgets scrolling
Qt expects scroll operations to be executed immediately. They cannot be
postponed since Qt may paint on the scrolled area afterwards.
The new code will only use an accelerated scroll operation (screen_blit)
once before the window is posted, because the blit is from the previous
buffer to the current one. Hence an additional scroll operation could
copy outdated pixel data. Additional scroll operations will be handled
by Qt. Performance issues were not perceived with this approach so far.
Task-number: QTBUG-39958
Change-Id: I6d7c3274c5db6a831a169615518fcdb4d926db70
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxrasterbackingstore.h')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxrasterbackingstore.h | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/plugins/platforms/qnx/qqnxrasterbackingstore.h b/src/plugins/platforms/qnx/qqnxrasterbackingstore.h index 35efd68571..d71e274a1d 100644 --- a/src/plugins/platforms/qnx/qqnxrasterbackingstore.h +++ b/src/plugins/platforms/qnx/qqnxrasterbackingstore.h @@ -64,19 +64,11 @@ public: void endPaint(); private: - class ScrollOp { - public: - ScrollOp(const QRegion &a, int x, int y) : totalArea(a), dx(x), dy(y) {} - QRegion totalArea; - int dx; - int dy; - }; - QQnxRasterWindow *platformWindow() const; QWindow *m_window; - QList<ScrollOp> m_scrollOpList; - bool m_hasUnflushedPaintOperations; + bool m_needsPosting; + bool m_scrolled; }; QT_END_NAMESPACE |