Closed Bug 1500502 Opened 7 years ago Closed 6 years ago

Window visibility on linux is not triggering redraw

Categories

(Core :: Widget: Gtk, defect, P3)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: sfink, Unassigned)

Details

Attachments

(2 files)

I don't really know what terminology to use, but Nightly on my machine for the last few weeks has changed its behavior: when I switch virtual desktops and then switch back, the Firefox windows will not be redrawn immediately (they show a window border, but still have the stale content of the previous virtual desktop.) Focusing on a window will force an immediate redraw. Sometimes they'll redraw themselves after a few seconds, but sometimes not (it probably depends on whether the page updates itself in some way?) I am running Firefox on linux, Fedora 27, on X Windows running the xfce4 window manager. Hopefully most of that doesn't matter. Up until a few weeks ago, switching virtual desktops would immediately draw all windows.
I'm going to bet Nical knows where to route this or if a specific change caused this. I'm tentatively putting this into the GTK Widget component.
Component: General → Widget: Gtk
Flags: needinfo?(nical.bugzilla)
IIRC visibility changes should trigger something that calls into OnExposeEvent https://searchfox.org/mozilla-central/rev/fcfb479e6ff63aea017d063faa17877ff750b4e5/widget/gtk/nsWindow.cpp#2063 which tells the compositor to do its thing. Sotaro have you seen recent-ish changes in this area that could cause us to skip re-compositing? Steve, could you copy paste the graphics section of your about:config page here? I'm surprised by the stale content. Even if we'd miss some compositing event of sorts, we should still save somewhat valid (albeit outdated) content in the window, especially with a compositing window manager.
Flags: needinfo?(nical.bugzilla) → needinfo?(sotaro.ikeda.g)
I assume you meant about:support.
Attached image desktop.png
Just to be sure we're talking about the same thing, here's a screenshot. I edited it -- I have a 3 monitor setup, and I cropped it to just include the display showing the problem. You'll see a Nightly logo containing various remnants of a different virtual workspace, to the right of an actual active volume control window.
(In reply to Steve Fink [:sfink] [:s:] from comment #3) > Created attachment 9019151 [details] > about.support graphics section attachment 9019151 [details] says that it uses WebRender. :sfink, does the problem happen when WebRender is disabled?
Flags: needinfo?(sotaro.ikeda.g) → needinfo?(sphink)
Assignee: nobody → sotaro.ikeda.g
(In reply to Nicolas Silva [:nical] from comment #2) > Sotaro have you seen recent-ish changes in this area that could cause us to skip re-compositing? Yea, Bug 1461239 or Bug 1498092 might cause the problem.
(In reply to Sotaro Ikeda [:sotaro] from comment #5) > :sfink, does the problem happen when WebRender is disabled? No, it does not. I had gfx.webrender.all set to true. Changing it to false and restarting fixes the problem.
Flags: needinfo?(sphink)

Steve, do you still see this? Thanks.

Flags: needinfo?(sphink)
Priority: -- → P3

I've had WebRender disabled because of this bug. I'll try turning it back on now.

At least a basic test seems to work now with webrender enabled.

Flags: needinfo?(sphink)
Assignee: sotaro.ikeda.g → nobody

I never know how to mark these bugs. WORKSFORME seems to imply that it might never have been a problem. INVALID is false. WONTFIX is too, because somebody did. INCOMPLETE would work if you allow it to be vague -- it's incomplete because nobody tracked down the bug that fixed it.

I think I'll go for FIXED without setting the version or milestone.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: