Martin Vermeer wrote:
On Thu, Nov 02, 2006 at 04:57:09PM +0100, Abdelrazak Younes wrote:
Martin Vermeer wrote:
On Thu, 2006-11-02 at 10:45 +0100, Abdelrazak Younes wrote:
Martin Vermeer wrote:
Note that the job will be easier if stale caches are not covered up by
the current overzealous full-screen refresh behaviour. I suggest getting
rid of that first.
The full refresh thing is due to the cursor bug. I will work on it as soon as I find some free time.

Abdel.
Are you sure? That would be great.
Yes I'm sure. The attached patch fixes the full screen refresh on cursor blinking.

Confirmed, thanks. I suppose this will already help Bennett.

Well, this is not ready yet and I suspect that there's more work to make it run correctly than the work to go back to the backing pixmap solution.

Unfortunately, there are some bad side effects. As I explained earlier, there is no backing pixmap any more as we draw directly on screen. This is the reason why I need to back-up the cursor area in order to restore it when the cursor is hidden (this is not yet working with this patch). Because of this also, when the widget loose the focus, the screen is not redrawn any more. This can be taken care of by caching the screen estate when we catch a "Focus Out" event. But at this point there is too much work to turn around the refresh problem. So the only pragmatic solution is to restore the backing pixmap.

Abdel.

Hmmm. I see still that the whole screen is refreshed even for a character 
insert.  I
also notice that when I comment out the updateMetrics(false) call in 
WorkArea::redraw,
this whole-screen refresh doesn't happen any more, which is good. But... the
non-redrawn areas of the screen are blanked out. Are you saying this is due to 
the
backing pixmap issue?

The screen refresh for a character insert is due to the missing singlePar update use case that you complained already; nothing to do with the pixmap issue. But the blanked out of the non-redrawn areas is indeed due the backing pixmap issue.

Abdel.

Reply via email to