Abdelrazak Younes wrote:
Abdelrazak Younes wrote:
Abdelrazak Younes wrote:
Perhaps a genereal rule is: if the whole workarea is to be painted,
use repaint, if not, use update. That should be possible to put into
sourcecode.
Maybe... Let me think a bit about that. I could make a special case
in "WorkArea::redraw()".
Does this patch solves the problem?
FYI, this patch has a bad side effect at the end of the document but I'd
This updated patch solves the side effect.
Abdel.
Index: GuiWorkArea.C
===================================================================
--- GuiWorkArea.C (revision 14234)
+++ GuiWorkArea.C (working copy)
@@ -515,8 +515,10 @@
void GuiWorkArea::expose(int x, int y, int w, int h)
{
-// lyxerr[Debug::GUI] << "expose " << w << 'x' << h
-// << '+' << x << '+' << y << std::endl;
+ if (x == 0 && y == 0 && w == viewport()->width() && h ==
viewport()->height()) {
+ viewport()->repaint(x, y, w, h);
+ return;
+ }
update(x, y, w, h);
}