Ignore:
Timestamp:
Aug 28, 1999, 4:09:58 PM (26 years ago)
Author:
sandervl
Message:

Use shared memory for class & window objects

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/new/win32class.cpp

    r655 r724  
    1 /* $Id: win32class.cpp,v 1.7 1999-08-24 09:20:30 sandervl Exp $ */
     1/* $Id: win32class.cpp,v 1.8 1999-08-28 14:09:30 sandervl Exp $ */
    22/*
    33 * Win32 Window Class Managment Code for OS/2
     
    2828                INT len = lstrlenW((LPWSTR)wndclass->lpszClassName)+1;
    2929
    30                 classNameA = (PCHAR)malloc(len);
    31                 classNameW = (WCHAR *)malloc(len*sizeof(WCHAR));
     30                classNameA = (PCHAR)_smalloc(len);
     31                classNameW = (WCHAR *)_smalloc(len*sizeof(WCHAR));
    3232        }
    3333        else {
    3434                INT len = strlen(wndclass->lpszClassName)+1;
    3535
    36                 classNameA = (PCHAR)malloc(len);
    37                 classNameW = (WCHAR *)malloc(len*sizeof(WCHAR));
     36                classNameA = (PCHAR)_smalloc(len);
     37                classNameW = (WCHAR *)_smalloc(len*sizeof(WCHAR));
    3838        }
    3939        if(classNameA == NULL || classNameW == NULL) {
     
    9090  //User data class words/longs
    9191  if(nrExtraClassWords) {
    92         userClassLong = (ULONG *)malloc(nrExtraClassWords);
     92        userClassLong = (ULONG *)_smalloc(nrExtraClassWords);
    9393        if(userClassLong == NULL) {
    9494                dprintf(("Win32Class ctr: userClassLong == NULL!"));
     
    115115        free(menuNameW);
    116116  }
     117}
     118//******************************************************************************
     119//******************************************************************************
     120BOOL Win32WndClass::hasClassName(LPSTR classname, BOOL fUnicode)
     121{
     122  if(HIWORD(classname) == 0) {
     123        return classAtom == (DWORD)classname;
     124  }
     125  if(fUnicode) {
     126        return (lstrcmpW(classNameW, (LPWSTR)classname) == 0);
     127  }
     128  else  return (strcmp(classNameA, classname) == 0);
    117129}
    118130//******************************************************************************
     
    238250  if(HIWORD(newMenuName)) {
    239251        if(isUnicode) {
    240                 menuNameA = (PCHAR)malloc(lstrlenW((LPWSTR)newMenuName)+1);
    241                 menuNameW = (WCHAR *)malloc((lstrlenW((LPWSTR)newMenuName)+1)*sizeof(WCHAR));
    242         }
    243         else {
    244                 menuNameA = (PCHAR)malloc(strlen(newMenuName)+1);
    245                 menuNameW = (WCHAR *)malloc((strlen(newMenuName)+1)*sizeof(WCHAR));
     252                menuNameA = (PCHAR)_smalloc(lstrlenW((LPWSTR)newMenuName)+1);
     253                menuNameW = (WCHAR *)_smalloc((lstrlenW((LPWSTR)newMenuName)+1)*sizeof(WCHAR));
     254        }
     255        else {
     256                menuNameA = (PCHAR)_smalloc(strlen(newMenuName)+1);
     257                menuNameW = (WCHAR *)_smalloc((strlen(newMenuName)+1)*sizeof(WCHAR));
    246258        }
    247259        if(menuNameA == NULL || menuNameW == NULL) {
Note: See TracChangeset for help on using the changeset viewer.