src/gui/painting/qbackingstore.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
equal deleted inserted replaced
30:5dc02b23752f 33:3e2da88830cd
   907     QWidget *pw = q->parentWidget();
   907     QWidget *pw = q->parentWidget();
   908     QPoint toplevelOffset = pw->mapTo(tlw, QPoint());
   908     QPoint toplevelOffset = pw->mapTo(tlw, QPoint());
   909     QWidgetPrivate *pd = pw->d_func();
   909     QWidgetPrivate *pd = pw->d_func();
   910     QRect clipR(pd->clipRect());
   910     QRect clipR(pd->clipRect());
   911 #ifdef Q_WS_QWS
   911 #ifdef Q_WS_QWS
   912     QWidgetBackingStore *wbs = x->backingStore;
   912     QWidgetBackingStore *wbs = x->backingStore.data();
   913     QWSWindowSurface *surface = static_cast<QWSWindowSurface*>(wbs->windowSurface);
   913     QWSWindowSurface *surface = static_cast<QWSWindowSurface*>(wbs->windowSurface);
   914     clipR = clipR.intersected(surface->clipRegion().translated(-toplevelOffset).boundingRect());
   914     clipR = clipR.intersected(surface->clipRegion().translated(-toplevelOffset).boundingRect());
   915 #endif
   915 #endif
   916     const QRect newRect(rect.translated(dx, dy));
   916     const QRect newRect(rect.translated(dx, dy));
   917     QRect destRect = rect.intersected(clipR);
   917     QRect destRect = rect.intersected(clipR);
   937         }
   937         }
   938         pd->invalidateBuffer(parentR);
   938         pd->invalidateBuffer(parentR);
   939         invalidateBuffer((newRect & clipR).translated(-data.crect.topLeft()));
   939         invalidateBuffer((newRect & clipR).translated(-data.crect.topLeft()));
   940     } else {
   940     } else {
   941 
   941 
   942         QWidgetBackingStore *wbs = x->backingStore;
   942         QWidgetBackingStore *wbs = x->backingStore.data();
   943         QRegion childExpose(newRect & clipR);
   943         QRegion childExpose(newRect & clipR);
   944 
   944 
   945         if (sourceRect.isValid() && wbs->bltRect(sourceRect, dx, dy, pw))
   945         if (sourceRect.isValid() && wbs->bltRect(sourceRect, dx, dy, pw))
   946             childExpose -= destRect;
   946             childExpose -= destRect;
   947 
   947 
   980     QWidget *tlw = q->window();
   980     QWidget *tlw = q->window();
   981     QTLWExtra* x = tlw->d_func()->topData();
   981     QTLWExtra* x = tlw->d_func()->topData();
   982     if (x->inTopLevelResize)
   982     if (x->inTopLevelResize)
   983         return;
   983         return;
   984 
   984 
   985     QWidgetBackingStore *wbs = x->backingStore;
   985     QWidgetBackingStore *wbs = x->backingStore.data();
   986     if (!wbs)
   986     if (!wbs)
   987         return;
   987         return;
   988 
   988 
   989     static int accelEnv = -1;
   989     static int accelEnv = -1;
   990     if (accelEnv == -1) {
   990     if (accelEnv == -1) {