When ignoring an update, request one for later

If we were not ready to paint the screen, this does not mean that we
should give up on repainting, just potpone it.

I thought that it was bad to call update() in the paint event, but I
cannot find reference to this anymore and everything seems to work as
intended.

Fixes part of bug #11323.

(cherry picked from commit 38f09c177b)
(cherry picked from commit 2617a4dd50)
This commit is contained in:
Jean-Marc Lasgouttes 2018-10-03 15:57:11 +02:00
parent ea81faa911
commit ba3ff646db
2 changed files with 4 additions and 0 deletions

View File

@ -1268,6 +1268,8 @@ void GuiWorkArea::paintEvent(QPaintEvent * ev)
// backing store has to be copied to screen (this is a no-op // backing store has to be copied to screen (this is a no-op
// except on macOS). // except on macOS).
d->updateScreen(ev->rect()); d->updateScreen(ev->rect());
// Ignore this paint event, but request a new one for later.
viewport()->update(ev->rect());
ev->accept(); ev->accept();
return; return;
} }

View File

@ -155,6 +155,8 @@ What's new
- Fix display of raster graphics with viewports (bug 11180). - Fix display of raster graphics with viewports (bug 11180).
- Fix some missing screen updates (bug 11323, regression in 2.3.1).
* INTERNALS * INTERNALS