Ignore:
Timestamp:
Aug 19, 2009, 11:26:52 PM (16 years ago)
Author:
Dmitry A. Kuminov
Message:

gui: 1) Fixed window state change handling so that the window is properly redrawn after being un-minimized using the window manager command. 2) Fixed frame strut update during minimize.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gui/kernel/qwidget_pm.cpp

    r120 r121  
    9090        // WC_FRAME parent HWND internally maintaned for them
    9191        cname = QLatin1String("QWindow");
    92         style |= CS_MOVENOTIFY;
    9392    } else {
    9493        cname = QLatin1String("QWidget");
     
    13931392        Q_ASSERT(fId != NULLHANDLE);
    13941393
    1395         // set flag for the WM_WINDOWPOSCHANGED handler in QtFrameProc
    1396         d->topData()->inSetWindowState = true;
    1397 
    13981394        // Ensure the initial size is valid, since we store it as normalGeometry below.
    13991395        if (!testAttribute(Qt::WA_Resized) && !isVisible())
     
    14581454            }
    14591455        }
    1460 
    1461         // set flag for the WM_WINDOWPOSCHANGED handler in QtFrameProc
    1462         d->topData()->inSetWindowState = false;
    1463     }
     1456    }
     1457
    14641458    data->window_state = newstate;
    1465     QWindowStateChangeEvent e(oldstate);
    1466     QApplication::sendEvent(this, &e);
     1459    // Note: QWindowStateChangeEvent is sent from QtWndProc(WM_MINMAXFRAME)
    14671460}
    14681461
     
    19401933    extra->topextra->fId = NULLHANDLE;
    19411934    extra->topextra->swEntry = NULLHANDLE;
    1942     extra->topextra->inSetWindowState = false;
    19431935}
    19441936
     
    19891981    fs.setCoords(cswp.x, cswp.y, swp.cx - cswp.x - cswp.cx,
    19901982                                 swp.cy - cswp.y - cswp.cy);
    1991     // @todo do we really need to update crect here??
    1992     //data.crect.setRect(swp.x + cswp.x, swp.y + cswp.y, cswp.cx, cswp.cy);
     1983    data.crect.setRect(swp.x + cswp.x, swp.y + cswp.y, cswp.cx, cswp.cy);
    19931984
    19941985    data.fstrut_dirty = false;
Note: See TracChangeset for help on using the changeset viewer.