Changeset 3747 for trunk/src


Ignore:
Timestamp:
Jun 23, 2000, 9:04:13 PM (25 years ago)
Author:
sandervl
Message:

wsprintf fix, menu accelerator fix

Location:
trunk/src/user32
Files:
5 edited

Legend:

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

    r3722 r3747  
    1 /* $Id: dc.cpp,v 1.62 2000-06-17 09:45:00 sandervl Exp $ */
     1/* $Id: dc.cpp,v 1.63 2000-06-23 19:04:10 sandervl Exp $ */
    22
    33/*
     
    984984}
    985985//******************************************************************************
     986//Helper for RedrawWindow (RDW_ALLCHILDREN_W)
     987//******************************************************************************
     988LRESULT WIN32API RedrawChildEnumProc(HWND hwnd, LPARAM lParam)
     989{
     990  RedrawWindow(hwnd, NULL, 0, lParam);
     991  return TRUE;
     992}
     993//******************************************************************************
    986994// This implementation of RedrawWindow supports
    987995// RDW_ERASE
     
    11451153        if(redraw & RDW_ERASENOW_W && wnd->needsEraseBkgnd())
    11461154                wnd->setEraseBkgnd(sendEraseBkgnd(wnd) == 0);
     1155        if(redraw & RDW_ALLCHILDREN_W) {
     1156                EnumChildWindows(wnd->getWindowHandle(), RedrawChildEnumProc, redraw);
     1157        }
    11471158   }
    11481159   else if((redraw & RDW_INTERNALPAINT_W) && !(redraw & RDW_INVALIDATE_W))
     
    11801191
    11811192   dprintf (("User32: UpdateWindow hwnd %x", hwnd));
    1182 ////SvL: This doesn't work right (Wine uses RDW_NOCHILDREN_W -> doesn't work here)
    1183 ////     Breaks vpbuddy
    1184 ////   return RedrawWindow( hwnd, NULL, 0, RDW_UPDATENOW_W | RDW_ALLCHILDREN_W);
     1193//SvL: This doesn't work right (Wine uses RDW_NOCHILDREN_W -> doesn't work here)
     1194//     Breaks vpbuddy
     1195//   return RedrawWindow(hwnd, NULL, 0, RDW_UPDATENOW_W | RDW_ALLCHILDREN_W);
     1196//   -> RDW_UPDATENOW causes WM_PAINT messages to be directy posted to window
     1197//   handler; possibly bypassing queued WM_PAINT messages for parent window(s)
     1198//   -> out of sync painting (i.e. parent paints over child)
    11851199   WinUpdateWindow(wnd->getOS2WindowHandle());
    11861200   return TRUE;
     
    11961210   }
    11971211   else dprintf(("InvalidateRect %x NULL erase=%d", hwnd, erase));
     1212   if(hwnd == 0x6800000f) {
     1213        result = 0;
     1214   }
    11981215   result = RedrawWindow (hwnd, pRect, NULLHANDLE,
    11991216                          RDW_ALLCHILDREN_W | RDW_INVALIDATE_W |
  • trunk/src/user32/oslibmsgtranslate.cpp

    r3662 r3747  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.34 2000-06-07 14:51:26 sandervl Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.35 2000-06-23 19:04:11 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    609609                    winMsg->lParam |= 1 << 30;                          // bit 30, previous state, 1 means key was pressed
    610610            }
     611            if(winMsg->wParam == VK_MENU_W) {
     612                winMsg->message = 0; //WM_SYS* already implies Alt
     613            }
    611614        }
    612615        if(ISKDB_CAPTURED())
     
    737740            extramsg.lParam = 0;
    738741
    739             if(!(fl & KC_CHAR)) {
     742            if(!(fl & KC_CHAR) && msg->message < WINWM_SYSKEYDOWN) {
    740743                return FALSE;
    741744            }
     
    746749                else    extramsg.wParam = SHORT2FROMMP(thdb->os2msg.mp2);
    747750            }
     751
    748752
    749753            if(msg->message >= WINWM_SYSKEYDOWN) {
  • trunk/src/user32/oslibwin.cpp

    r3705 r3747  
    1 /* $Id: oslibwin.cpp,v 1.80 2000-06-14 13:15:24 sandervl Exp $ */
     1/* $Id: oslibwin.cpp,v 1.81 2000-06-23 19:04:11 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    8787  dprintf(("WinCreateWindow %x %s %x task %d shell %d classstyle %x winstyle %x", hwndParent, pszName, id, fTaskList, fShellPosition, classStyle, dwWinStyle));
    8888
    89 #if 1
     89#if 0
    9090  return WinCreateWindow (hwndParent,
    9191//                          TopLevel ? WIN32_STDFRAMECLASS : WIN32_STDCLASS,
     
    9696#else
    9797  return WinCreateWindow (hwndParent,
    98                           WIN32_STDCLASS,
     98                          WIN32_STDFRAMECLASS,
    9999                          pszName, dwWinStyle, 0, 0, 0, 0,
    100100                          Owner, HWND_TOP,
  • trunk/src/user32/win32wbase.cpp

    r3705 r3747  
    1 /* $Id: win32wbase.cpp,v 1.201 2000-06-14 13:15:25 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.202 2000-06-23 19:04:12 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    379379  {
    380380        SetParent(cs->hwndParent);
    381         owner = GetWindowFromHandle(cs->hwndParent);
    382         if(owner == NULL)
     381//        owner = GetWindowFromHandle(cs->hwndParent);
     382        owner = 0;
     383/*        if(owner == NULL)
    383384        {
    384385            dprintf(("HwGetWindowHandleData couldn't find owner window %x!!!", cs->hwndParent));
    385386            SetLastError(ERROR_INVALID_WINDOW_HANDLE);
    386387            return FALSE;
    387         }
     388        }*/
    388389        //SvL: Shell positioning shouldn't be done for child windows! (breaks Notes)
    389390        fXDefault = fCXDefault = FALSE;
     
    516517  OS2Hwnd = OSLibWinCreateWindow((getParent()) ? getParent()->getOS2WindowHandle() : OSLIB_HWND_DESKTOP,
    517518                                 dwOSWinStyle,(char *)windowNameA,
    518                                  (owner) ? owner->getOS2WindowHandle() : OSLIB_HWND_DESKTOP,
     519                                 (owner) ? owner->getOS2WindowHandle() : ((getParent()) ? getParent()->getOS2WindowHandle() : OSLIB_HWND_DESKTOP),
    519520                                 (hwndLinkAfter == HWND_BOTTOM) ? TRUE : FALSE,
    520521                                 0, fTaskList,fXDefault | fCXDefault,windowClass->getStyle());
     
    16551656                else    SendMessageA(WM_SYSCOMMAND, (WPARAM)SC_KEYMENU, (LPARAM)(DWORD)wParam );
    16561657        }
     1658#if 0
    16571659        else /* check for Ctrl-Esc */
    16581660                if (wParam != VK_ESCAPE) MessageBeep(0);
    16591661                        break;
     1662#endif
    16601663    }
    16611664
     
    25502553    for (child = (Win32BaseWindow *)getFirstChild(); child; child = (Win32BaseWindow *)child->getNextChild())
    25512554    {
    2552         dprintf(("EnumChildWindows: enumerating child %x", child->getWindowHandle()));
     2555        dprintf(("EnumChildWindows: enumerating child %x (owner %x; parent %x)", child->getWindowHandle(), (child->getOwner()) ? child->getOwner()->getWindowHandle() : 0, getWindowHandle()));
    25532556        hwnd = child->getWindowHandle();
    25542557        if(child->getOwner()) {
  • trunk/src/user32/wsprintf.cpp

    r3209 r3747  
    1 /* $Id: wsprintf.cpp,v 1.7 2000-03-23 23:06:54 sandervl Exp $ */
     1/* $Id: wsprintf.cpp,v 1.8 2000-06-23 19:04:13 sandervl Exp $ */
    22
    33/*
     
    268268                        (format->flags & WPRINTF_UPPER_HEX) ? "%X" : "%x",
    269269                        (UINT)arg->int_view);
    270         if (format->flags & WPRINTF_PREFIX_HEX) len += 2;
     270        if (format->flags & WPRINTF_PREFIX_HEX) {
     271            len += 2;
     272            format->width += 2;
     273        }
    271274        break;
    272275    default:
Note: See TracChangeset for help on using the changeset viewer.