fix two damage artifact causes

1. when adding a full damange, that must not replace existing (larger) repaints
2. emit geometryChanged before invoking and to update shadowGeometry through addRepaintFull

BUG: 324560
FIXED-IN: 4.11.2
This commit is contained in:
Thomas Lübking 2013-09-11 23:27:30 +02:00
parent 149e97fcb9
commit 67cb571f86
2 changed files with 2 additions and 1 deletions

View file

@ -989,7 +989,7 @@ void Toplevel::addDamageFull()
return;
damage_region = rect();
repaints_region = rect();
repaints_region |= rect();
emit damaged(this, rect());
}

View file

@ -1521,6 +1521,7 @@ void Unmanaged::configureNotifyEvent(XConfigureEvent* e)
addWorkspaceRepaint(visibleRect()); // damage old area
QRect old = geom;
geom = newgeom;
emit geometryChanged(); // update shadow region
addRepaintFull();
if (old.size() != geom.size())
discardWindowPixmap();