Closed
Bug 972728
Opened 11 years ago
Closed 11 years ago
Basic compositor doesn't invalidate on wakeup
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla30
People
(Reporter: billm, Assigned: billm)
References
Details
Attachments
(1 file)
1.07 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
If I put my laptop to sleep and then wake it up when the basic compositor is in use on Linux, the screen doesn't refresh. It's just an empty gray rectangle.
Assignee | ||
Comment 1•11 years ago
|
||
Another instance of this: if I open "About Nightly" (to download an update), most of the window isn't ever drawn.
Comment 2•11 years ago
|
||
Is this a recent regression? The code to only composite the areas that have changed was broken until recently, so that would be a likely cause. I wouldn't be surprised if there are bugs where we miss a change, and don't composite that area of the window.
Assignee | ||
Comment 3•11 years ago
|
||
Yes, I don't remember seeing this before those fixes landed. I've also had problems where, when I visit a new web page, the screen doesn't update right away. Hopefully it's caused by the same issue as the wakeup problem, which is easier to reproduce. If it isn't, I'll file a separate bug once we figure out the problem in this bug.
Comment 4•11 years ago
|
||
Try removing the gdk_screen_is_composited condition from this if statement: http://mxr.mozilla.org/mozilla-central/source/widget/gtk/nsWindow.cpp#2054 If that doesn't work, then I guess we can disable the invalidation stuff :(
Assignee | ||
Comment 5•11 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #4) > Try removing the gdk_screen_is_composited condition from this if statement: > > http://mxr.mozilla.org/mozilla-central/source/widget/gtk/nsWindow.cpp#2054 > > If that doesn't work, then I guess we can disable the invalidation stuff :( I think that fixes the problem. I didn't see it in my testing at least, while I did without the change. What do you think is going on?
Comment 6•11 years ago
|
||
I can't remember why we made that condition specific to non-composited window managers, but it no longer makes any sense to me. What I think is happening, is while sleeping, the window manager discarded it's copy of our pixels. Then on wakeup, it sends an OnExpose() event to ask us to redraw them. We send a message to the compositor, but the invalid region is empty (since nothing has actually changed) and we don't draw anything. Sadness ensues. Anytime the OS asks us to repaint a certain area using this event, we should probably do what it wants.
Assignee | ||
Comment 7•11 years ago
|
||
Sounds good to me. Thanks.
Assignee: nobody → wmccloskey
Status: NEW → ASSIGNED
Attachment #8387112 -
Flags: review?(matt.woodrow)
Updated•11 years ago
|
Attachment #8387112 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 8•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/0654a11c120a
Comment 9•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/0654a11c120a
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in
before you can comment on or make changes to this bug.
Description
•