Changeset 710


Ignore:
Timestamp:
Apr 26, 2010, 4:59:03 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

gui: Fixed distortions in Dive mode when moving windows of other processes over a Qt window by ignoring the ffVisRgnChanged flag of WM_VRNENABLED which PM doesn't always set correctly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gui/painting/qwindowsurface_pm.cpp

    r707 r710  
    304304    // during resize & move due to the different event order)
    305305    QRect src = from.intersected(QRect(0, 0, d->image->width(), d->image->height()));
    306     QPoint dst = to - (src.bottomLeft() - from.bottomLeft());
     306    QPoint dst = to + (src.bottomLeft() - from.bottomLeft());
    307307
    308308    HWND hwnd = window()->winId();
     
    391391        case WM_VRNENABLED: {
    392392            d->vrnDisabled = false;
     393            // Note that when an overlapping window of *other* process is moved
     394            // over this window, PM still sends WM_VRNENABLED to it but with
     395            // ffVisRgnChanged set to FALSE although the visible region *does*
     396            // actually change (it doesn't seem to be the case for windows of
     397            // the same process). The solution is to ignore this flag and always
     398            // assume that the visible region was changed when we get this msg
     399#if 0
    393400            if (LONGFROMMP(msg->mp1)) // window's visible region changed
     401#endif
    394402                d->vrnDirty = true;
    395403            d->posDirty = true;
Note: See TracChangeset for help on using the changeset viewer.