From a2d647536009ae390f797c865234f26ea34370c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Mon, 13 Aug 2007 09:26:27 +0000 Subject: [PATCH] * fixed usage of hardware accelerated inverting, of course we shouldn't do it again in software after we have done it in hardware... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21921 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/DrawingEngine.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/servers/app/drawing/DrawingEngine.cpp b/src/servers/app/drawing/DrawingEngine.cpp index 2f30477d0e..fe7a3000df 100644 --- a/src/servers/app/drawing/DrawingEngine.cpp +++ b/src/servers/app/drawing/DrawingEngine.cpp @@ -860,14 +860,17 @@ DrawingEngine::FillRegion(BRegion& r) fSuspendSyncLevel == 0 || cursorTouched); doInSoftware = false; - } else if (fAvailableHWAccleration & HW_ACC_INVERT_REGION - && fPainter->Pattern() == B_SOLID_HIGH - && fPainter->DrawingMode() == B_OP_INVERT) { - r.IntersectWith(fPainter->ClippingRegion()); - fGraphicsCard->InvertRegion(r); } } + if (doInSoftware && fAvailableHWAccleration & HW_ACC_INVERT_REGION + && fPainter->Pattern() == B_SOLID_HIGH + && fPainter->DrawingMode() == B_OP_INVERT) { + r.IntersectWith(fPainter->ClippingRegion()); + fGraphicsCard->InvertRegion(r); + doInSoftware = false; + } + if (doInSoftware) { BRect touched = fPainter->FillRect(r.RectAt(0));