Ignore:
Timestamp:
May 15, 2003, 2:40:20 PM (22 years ago)
Author:
sandervl
Message:

Window creation: updated the coordinate fix code with the latest Rewind version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/win32wbase.cpp

    r10089 r10091  
    1 /* $Id: win32wbase.cpp,v 1.373 2003-05-14 11:40:17 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.374 2003-05-15 12:40:19 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    393393    fXDefault = FALSE;
    394394    fCXDefault = FALSE;
    395     if ((cs->x == CW_USEDEFAULT) || (cs->x == CW_USEDEFAULT16))
    396     {
    397        /* Never believe Microsoft's documentation... CreateWindowEx doc says
    398         * that if an overlapped window is created with WS_VISIBLE style bit
    399         * set and the x parameter is set to CW_USEDEFAULT, the system ignores
    400         * the y parameter. However, looking at NT reveals that
    401         *
    402         * 1) not only if checks for CW_USEDEFAULT but also for CW_USEDEFAULT16
    403         * 2) it does not ignore the y parameter as the docs claim; instead, it
    404         *    uses it as second parameter to ShowWindow() unless y is either
    405         *    CW_USEDEFAULT or CW_USEDEFAULT16.
    406         *
    407         * The fact that we didn't do 2) caused bogus windows pop up when wine
    408         * was running apps that were using this obscure feature. Example -
    409         * calc.exe that comes with Win98 (only Win98, it's different from
    410         * the one that comes with Win95 and NT)
    411         */
    412         if ((cs->y != CW_USEDEFAULT) && (cs->y != CW_USEDEFAULT16)) sw = cs->y;
    413 
    414         /* We have saved cs->y, now we can trash it */
    415         cs->x = 0;
    416         cs->y = 0;
    417         fXDefault = TRUE;
    418     }
    419     if ((cs->cx == CW_USEDEFAULT) || (cs->cx == CW_USEDEFAULT16))
    420     {
    421         cs->cx = 600; /* FIXME */
    422         cs->cy = 400;
    423         fCXDefault = TRUE;
    424     }
    425     if (cs->style & (WS_POPUP | WS_CHILD))
    426     {
    427         fXDefault = FALSE;
    428         if (fCXDefault)
    429         {
    430             fCXDefault = FALSE;
    431             cs->cx = cs->cy = 0;
    432         }
    433     }
    434     if (fXDefault && !fCXDefault) fXDefault = FALSE; //CB: only x positioning doesn't work (calc.exe,cdrlabel.exe)
    435 
     395    FixCoordinates(cs, &sw);
    436396
    437397    /* Correct the window style - stage 1
Note: See TracChangeset for help on using the changeset viewer.