plugins/composite/src/screen.cpp: Suspicious for loop never iterates
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Triaged
|
Medium
|
Unassigned |
Bug Description
plugins/
This loop can't possibly work as a loop if it breaks immediately:
for (CompWindowList
{
if (w->destroyed () || w->invisible ())
if (!CompositeWind
}
Looks like maybe the author meant:
if (!CompositeWind
{
}
Changed in compiz: | |
milestone: | none → 0.9.11.0 |
status: | New → Triaged |
Is the code even relevant any more? We can't and don't do regional redraws any more, so omitting unredirected windows will:
1. For fullscreen unredirected windows: Produce an empty damage region, leaving nothing to paint. This sounds right, but paint() is called anyway, which might be a bug.
2. For non-fullscreen windows: The above loop makes no difference at all. Buffer swapping will probably still clobber/conflict with the unredirected region.