- Timestamp:
- May 31, 2010, 4:52:33 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gui/painting/qwindowsurface_pm.cpp
r742 r743 336 336 bool vrnDisabled; 337 337 bool inDrag; 338 int windowHeight; 338 339 SETUP_BLITTER setup; 339 340 QVector<RECTL> rcls; … … 358 359 d->vrnDisabled = false; 359 360 d->inDrag = false; 361 d->windowHeight = 0; 360 362 361 363 memset(&d->setup, 0, sizeof(SETUP_BLITTER)); … … 513 515 GpiDestroyRegion(hps, hrgn); 514 516 window()->releasePS(hps); 517 518 // memorize the window height used for the additional visible region 519 // validation in doFlush() 520 d->windowHeight = window()->height(); 515 521 516 522 #if defined(QDIVE_DEBUG) … … 639 645 if (!d->useFB) { 640 646 // associate the image data pointer with the buffer number 641 DiveFreeImageBuffer(d->hDive, d->bufNum); 647 if (d->bufNum) 648 DiveFreeImageBuffer(d->hDive, d->bufNum); 642 649 d->bufNum = 0; 643 650 ULONG rc = DiveAllocImageBuffer(d->hDive, &d->bufNum, … … 928 935 QPoint dstDelta = from.topLeft() - to; 929 936 937 const int windowHeight = window()->height(); 938 939 // sometimes PM does not send WM_VRNENABLED although the window size has 940 // been changed (this is known to happen in FB mode with the Qt Assistant 941 // application) which leads to screen corruption due to outdated visible 942 // regions. A fix is to memorize the window height and check it here 943 if (windowHeight != d->windowHeight) 944 d->vrnDirty = true; 945 930 946 bool wasPosDirty = d->posDirty; 931 947 bool wasVrnDirty = d->vrnDirty; 932 948 933 949 adjustSetup(); 934 935 const int windowHeight = window()->height();936 950 937 951 if (wasVrnDirty) {
Note:
See TracChangeset
for help on using the changeset viewer.