equalsraf / vim-qt

An experimental Qt gui for Vim.
129 stars 14 forks source link

Window not re-painting correctly #21

Open sjlongland opened 5 years ago

sjlongland commented 5 years ago

Hi,

Firstly, thank-you for putting the effort into a Qt-based port of gvim… I was getting fed up with gvim's quirks, specifically the way it was tickling gtk+ which caused gtk+ to barf crap all over stdout/stderr. Switching to vim-qt cured that instantly.

I used it for quite a while, Qt4 it works great, early Qt5 releases it was fine. I think around 5.9.2, I was using vim-qt without issues.

However, one problem has arisen in recent versions of Qt (5.9.4 and later, reproduce-able in 5.11.1): when scrolling text or editing, the window isn't re-painted. If I move the cursor around, it'll re-paint the character where the cursor is. Editing is similarly affected, if I hit O to open a new line, it does so, but the view does not reflect this.

I'll post a video (tried several times to post it to Github here, but no go) to show what I'm getting, but it seems some re-paint event is getting missed in the newer versions of Qt. I'm not beyond fixing it myself but I'm not overly familiar with the workings of vim and its graphical interface, so some guidance on where to look would be appreciated.

sjlongland commented 5 years ago

https://vimeo.com/308730265 (once it's done converting) shows the problem.

cognifloyd commented 5 years ago

I've had issues like this for some time. My workaround is to switch back and forth between two tabs (including opening an extra tab if I only have one open) to force it to repaint.

sjlongland commented 4 years ago

Well, nearly a year on… no action. I fail to see how anyone could be using vim-qt with this bug as it makes it completely unusable on any modern version of Linux (it is as broken on Debian Buster as it is in Gentoo).

Yes, the code's there, but it's not obvious where the code is doing the screen (re-)painting to know what to fix. I'd move to neovim-qt since that appears to be actually maintained, but that just looks like glorified vim+xterm. The menus and toolbars in gvim/vim-qt serve a purpose -- we shouldn't be throwing them under a bus.

equalsraf commented 4 years ago

Sorry guys, I dropped off the face of the earth for the past year.

The issue seems similar to one we saw in the early days of Qt5 where QWidget::scroll has no effect in the paintEvent here.