summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-05-24 16:32:08 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-05-31 10:55:53 +0200
commitd13cb9b2c5fdbd8655faef253680041e9114dfc7 (patch)
tree2c01f5e188bc9497fefe341fdac7906a691b0263 /lib
parent51cc60565334ee09d7d9c1f10c709c9accf230d8 (diff)
Fix flickering when resizing.
Diffstat (limited to 'lib')
-rw-r--r--lib/backing_store_qt.cpp5
-rw-r--r--lib/raster_window.cpp1
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/backing_store_qt.cpp b/lib/backing_store_qt.cpp
index e5cc72016..ecaa2c50a 100644
--- a/lib/backing_store_qt.cpp
+++ b/lib/backing_store_qt.cpp
@@ -27,7 +27,12 @@ void BackingStoreQt::resize(const QSize& size)
{
m_isValid = false;
if (size != m_pixelBuffer.size()) {
+ QPixmap oldBackingStore = m_pixelBuffer;
m_pixelBuffer = QPixmap(size);
+
+ QPainter painter(&m_pixelBuffer);
+ painter.drawPixmap(oldBackingStore.rect(), oldBackingStore);
+
m_host->WasResized();
}
}
diff --git a/lib/raster_window.cpp b/lib/raster_window.cpp
index cd5d038b0..75b927310 100644
--- a/lib/raster_window.cpp
+++ b/lib/raster_window.cpp
@@ -13,6 +13,7 @@ RasterWindow::RasterWindow(content::RenderWidgetHostViewQt* view, QWidget *paren
, m_view(view)
{
setFocusPolicy(Qt::ClickFocus);
+ setAttribute(Qt::WA_OpaquePaintEvent);
}
void RasterWindow::setBackingStore(BackingStoreQt* backingStore)