mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 21:21:32 +00:00
Try to fix bug #10989.
The problem is that popping dialogs during reload can cause paint events for which we are not ready. If this does not work, then we can introduce a new flag, besides 'busy', for that case. But busy does not seem to be used very widely, so hopefully this works. Note that when paintEvent is triggered on macOS, the least we can do is to copy our backing store to the screen. (cherry picked from commit19e6977b5b
) (cherry picked from commitd03deeca0c
)
This commit is contained in:
parent
00ec2dd106
commit
8abea3b7e9
@ -1244,6 +1244,16 @@ void GuiWorkArea::Private::paintPreeditText(GuiPainter & pain)
|
||||
|
||||
void GuiWorkArea::paintEvent(QPaintEvent * ev)
|
||||
{
|
||||
// Do not trigger the painting machinery if we are not ready (see
|
||||
// bug #10989). However, since macOS has turned the screen black at
|
||||
// this point, our backing store has to be copied to screen.
|
||||
if (view().busy()) {
|
||||
// this is a no-op except on macOS.
|
||||
d->updateScreen(ev->rect());
|
||||
ev->accept();
|
||||
return;
|
||||
}
|
||||
|
||||
// LYXERR(Debug::PAINTING, "paintEvent begin: x: " << rc.x()
|
||||
// << " y: " << rc.y() << " w: " << rc.width() << " h: " << rc.height());
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user