equal
deleted
inserted
replaced
350 Q_UNUSED(toCleanIsInTopLevelCoordinates); |
350 Q_UNUSED(toCleanIsInTopLevelCoordinates); |
351 |
351 |
352 // Always flush repainted areas. |
352 // Always flush repainted areas. |
353 dirtyOnScreen += toClean; |
353 dirtyOnScreen += toClean; |
354 |
354 |
|
355 #ifdef Q_WS_QWS |
|
356 toClean.translate(tlwOffset); |
|
357 #endif |
|
358 |
355 #ifdef QT_NO_PAINT_DEBUG |
359 #ifdef QT_NO_PAINT_DEBUG |
356 windowSurface->beginPaint(toClean); |
360 windowSurface->beginPaint(toClean); |
357 #else |
361 #else |
358 returnInfo->wasFlushed = QWidgetBackingStore::flushPaint(tlw, toClean); |
362 returnInfo->wasFlushed = QWidgetBackingStore::flushPaint(tlw, toClean); |
359 // Avoid deadlock with QT_FLUSH_PAINT: the server will wait for |
363 // Avoid deadlock with QT_FLUSH_PAINT: the server will wait for |
764 } |
768 } |
765 |
769 |
766 if (decorationRegion.isEmpty()) |
770 if (decorationRegion.isEmpty()) |
767 return; |
771 return; |
768 |
772 |
769 windowSurface->beginPaint(decorationRegion); |
773 //### The QWS decorations do not always paint the pixels they promise to paint. |
|
774 // This causes painting problems with QWSMemorySurface. Since none of the other |
|
775 // window surfaces actually use the region, passing an empty region is a safe |
|
776 // workaround. |
|
777 |
|
778 windowSurface->beginPaint(QRegion()); |
770 |
779 |
771 QPaintEngine *engine = windowSurface->paintDevice()->paintEngine(); |
780 QPaintEngine *engine = windowSurface->paintDevice()->paintEngine(); |
772 Q_ASSERT(engine); |
781 Q_ASSERT(engine); |
773 const QRegion oldSystemClip(engine->systemClip()); |
782 const QRegion oldSystemClip(engine->systemClip()); |
774 engine->setSystemClip(decorationRegion.translated(tlwOffset)); |
783 engine->setSystemClip(decorationRegion.translated(tlwOffset)); |