Changeset 752 for trunk/src/kernel32


Ignore:
Timestamp:
Aug 31, 1999, 4:36:46 PM (26 years ago)
Author:
sandervl
Message:

Added class for menu resources + fixed makefile

Location:
trunk/src/kernel32
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/KERNEL32.DEF

    r730 r752  
    1 ; $Id: KERNEL32.DEF,v 1.32 1999-08-28 19:33:44 sandervl Exp $
     1; $Id: KERNEL32.DEF,v 1.33 1999-08-31 14:36:44 sandervl Exp $
    22
    33;Created by BLAST for IBM's compiler
     
    10111011    OS2SetExceptionHandler   @1251
    10121012    OS2UnsetExceptionHandler @1252
     1013
     1014    __ct__12Win32MenuResFP10Win32ImageUlN22                       @1260
     1015    __ct__12Win32MenuResFP10Win32ImageUlN22Pc                     @1261
     1016    __ct__12Win32MenuResFPvi                                      @1262
     1017    __ct__12Win32MenuResFUl                                       @1263
  • trunk/src/kernel32/kernel32exp.def

    r730 r752  
    1 ; $Id: kernel32exp.def,v 1.17 1999-08-28 19:33:44 sandervl Exp $
     1; $Id: kernel32exp.def,v 1.18 1999-08-31 14:36:45 sandervl Exp $
    22
    33;Created by BLAST for IBM's compiler
     
    865865    OS2SetExceptionHandler   @1251
    866866    OS2UnsetExceptionHandler @1252
     867
     868    __ct__12Win32MenuResFP10Win32ImageUlN22                       @1260
     869    __ct__12Win32MenuResFP10Win32ImageUlN22Pc                     @1261
     870    __ct__12Win32MenuResFPvi                                      @1262
     871    __ct__12Win32MenuResFUl                                       @1263
  • trunk/src/kernel32/makefile

    r737 r752  
    1 # $Id: makefile,v 1.36 1999-08-29 14:56:02 sandervl Exp $
     1# $Id: makefile,v 1.37 1999-08-31 14:36:45 sandervl Exp $
    22
    33#
     
    1919
    2020
    21 OBJS = KERNEL32.OBJ KOBJECTS.OBJ CONSOLE.OBJ CONIN.OBJ CONBUFFER.OBJ \
    22  CONOUT.OBJ UNICODE.OBJ network.OBJ DEVIO.OBJ profile.obj \
    23  THREAD.OBJ virtual.obj THUNK.OBJ OBSOLETE.OBJ COMM.OBJ \
    24  MESSAGE.OBJ RESOURCE.OBJ NAMEID.OBJ WINRES.OBJ WINMOD.OBJ \
    25  EXCEPTIONS.OBJ LFILE.OBJ NPIPE.OBJ oslibdos.obj oslibmisc.obj \
    26  MISC.OBJ EXCEPTUTIL.OBJ LANG.OBJ ICCIO.OBJ MAP.OBJ \
    27  WIN32UTIL.OBJ heap.OBJ heapstring.obj os2heap.OBJ \
    28  vmutex.OBJ initterm.OBJ handlemanager.OBJ \
    29  hmdevice.obj hmopen32.obj hmobjects.obj hmevent.obj \
    30  hmmutex.obj hmsemaphore.obj wprocess.OBJ conprop.OBJ \
    31  winimage.OBJ windll.OBJ winexe.OBJ time.obj mmap.obj \
    32  pefile.OBJ winimgres.OBJ wintls.obj async.OBJ fileio.obj \
    33  atom.obj disk.obj directory.obj cvtbitmap.obj hmmmap.obj \
    34  cvtmenu.obj cvtaccel.obj cvticon.obj cvticongrp.obj \
    35  cvtcursor.obj cvtcursorgrp.obj stubs.obj interlock.obj
     21OBJS = KERNEL32.OBJ KOBJECTS.OBJ CONSOLE.OBJ CONIN.OBJ \
     22CONBUFFER.OBJ CONOUT.OBJ UNICODE.OBJ network.OBJ DEVIO.OBJ \
     23profile.obj THREAD.OBJ virtual.obj THUNK.OBJ OBSOLETE.OBJ COMM.OBJ\
     24MESSAGE.OBJ RESOURCE.OBJ NAMEID.OBJ WINRES.OBJ WINMOD.OBJ EXCEPTIONS.OBJ \
     25LFILE.OBJ NPIPE.OBJ oslibdos.obj oslibmisc.obj MISC.OBJ EXCEPTUTIL.OBJ \
     26LANG.OBJ ICCIO.OBJ MAP.OBJ WIN32UTIL.OBJ heap.OBJ heapstring.obj \
     27os2heap.OBJ vmutex.OBJ initterm.OBJ handlemanager.OBJ winresmenu.obj \
     28hmdevice.obj hmopen32.obj hmobjects.obj hmevent.obj hmmutex.obj \
     29hmsemaphore.obj wprocess.OBJ conprop.OBJ \
     30winimage.OBJ windll.OBJ winexe.OBJ time.obj mmap.obj \
     31pefile.OBJ winimgres.OBJ wintls.obj async.OBJ fileio.obj \
     32atom.obj disk.obj directory.obj cvtbitmap.obj hmmmap.obj \
     33cvtmenu.obj cvtaccel.obj cvticon.obj cvticongrp.obj \
     34cvtcursor.obj cvtcursorgrp.obj stubs.obj interlock.obj
    3635
    3736
     
    4140
    4241
    43 $(TARGET).dll: $(OBJS) $(TARGET).def
    44         $(LD) $(LDFLAGS) -Fm -Fe$@ $(OBJS) $(TARGET).def $(PDWIN32_LIB)\PMWINX.LIB $(PDWIN32_LIB)\LIBULS.LIB $(PDWIN32_LIB)\LIBCONV.LIB $(PDWIN32_LIB)/odincrt.lib OS2386.LIB $(RTLLIB_O)
     42$(TARGET).dll: $(OBJS) $(TARGET).def $(TARGET).lrf
     43#        $(LD) $(LDFLAGS) /Fm /Fe$@ /B"/FREE" @$(TARGET).lrf
     44!ifdef DEBUG
     45#       icc -Si -Ti -Ge- -Ss+ -W3 -Gm+ /B"/noe /NOD /NOFREE" @$(TARGET).lrf
     46        ilink /de /map  /noe /NOD /dbgpack /NoLogo /NOFREE @$(TARGET).lrf
     47!else
     48        ilink /map  /noe /NOD /NoLogo /FREE @$(TARGET).lrf
     49!endif
    4550        rc -r console.rc console.res
    4651        rc console.res $@
    4752        $(CP) $@ $(PDWIN32_BIN)
     53
     54$(TARGET).lrf: makefile
     55        @echo Creating file <<$(@B).lrf
     56$(OBJS)
     57$(PDWIN32_LIB)\PMWINX.LIB
     58$(PDWIN32_LIB)\LIBULS.LIB
     59$(PDWIN32_LIB)\LIBCONV.LIB
     60$(PDWIN32_LIB)\odincrt.lib
     61OS2386.LIB
     62$(RTLLIB_O)
     63$(TARGET).def
     64<<keep
    4865
    4966$(TARGET).LIB: $(TARGET)exp.def
     
    234251winres.OBJ: \
    235252    .\winres.cpp \
     253    $(PDWIN32_INCLUDE)\winresmenu.h \
    236254    $(PDWIN32_INCLUDE)\winres.h \
    237255    $(PDWIN32_INCLUDE)\nameid.h \
     
    318336stubs.obj:     stubs.cpp stubs.h
    319337
     338winresmenu.obj: winresmenu.cpp $(PDWIN32_INCLUDE)\winresmenu.h $(PDWIN32_INCLUDE)\winres.h
     339
    320340cvtbitmap.obj: cvtbitmap.cpp $(PDWIN32_INCLUDE)\winicon.h $(PDWIN32_INCLUDE)\misc.h cvtresource.h
    321341cvtmenu.obj: cvtmenu.cpp $(PDWIN32_INCLUDE)\winmenu.h $(PDWIN32_INCLUDE)\misc.h cvtresource.h
  • trunk/src/kernel32/winimgres.cpp

    r634 r752  
    1 /* $Id: winimgres.cpp,v 1.12 1999-08-22 22:11:22 sandervl Exp $ */
     1/* $Id: winimgres.cpp,v 1.13 1999-08-31 14:36:46 sandervl Exp $ */
    22
    33/*
     
    2323#include <winexe.h>
    2424#include <winres.h>
     25#include <winresmenu.h>
    2526#include <unicode.h>
    2627#include <heapstring.h>
     
    274275        }
    275276  }
    276   else  res = new Win32Resource(this, id, type, pData->Size, resdata);
     277  else {
     278        switch(type) {
     279        case NTRT_MENU:
     280                res = new Win32MenuRes(this, id, type, pData->Size, resdata);
     281                break;
     282        default:
     283                res = new Win32Resource(this, id, type, pData->Size, resdata);
     284                break;
     285        }
     286       
     287  }
    277288
    278289  return res;
     
    343354    if(hres)
    344355    {
    345         res = new Win32Resource(this, hres, (ULONG)lpszName, (ULONG)szType);
     356        switch((ULONG)szType) {
     357        case NTRT_MENU:
     358                res = new Win32MenuRes(this, hres, (ULONG)lpszName, (ULONG)szType);
     359                break;
     360        default:
     361                res = new Win32Resource(this, hres, (ULONG)lpszName, (ULONG)szType);
     362                break;
     363        }
    346364    }
    347365
     
    440458    if(hres)
    441459    {
    442         res = new Win32Resource(this, hres, (ULONG)lpszName, (ULONG)szType);
     460        switch((ULONG)szType) {
     461        case NTRT_MENU:
     462                res = new Win32MenuRes(this, hres, (ULONG)lpszName, (ULONG)szType);
     463                break;
     464        default:
     465                res = new Win32Resource(this, hres, (ULONG)lpszName, (ULONG)szType);
     466                break;
     467        }
    443468    }
    444469
  • trunk/src/kernel32/winres.cpp

    r611 r752  
    1 /* $Id: winres.cpp,v 1.12 1999-08-21 19:11:56 sandervl Exp $ */
     1/* $Id: winres.cpp,v 1.13 1999-08-31 14:36:46 sandervl Exp $ */
    22
    33/*
     
    3131#include <winexe.h>
    3232#include "cvtresource.h"
     33#include <vmutex.h>
     34
     35VMutex resmutex;
    3336
    3437//******************************************************************************
     
    8689//******************************************************************************
    8790//******************************************************************************
     91Win32Resource::Win32Resource() :
     92        os2resdata(NULL), winresdata(NULL), resType(RSRC_CUSTOMNODATA)
     93{
     94  resmutex.enter();
     95  next           = module->winres;
     96  module->winres = this;
     97  resmutex.leave();
     98
     99  module     = NULL;
     100  id         = -1;
     101  type       = -1;
     102  hres       = 0;
     103  orgos2type = -1;
     104  OS2ResHandle = 0;
     105}
     106//******************************************************************************
     107//******************************************************************************
    88108Win32Resource::Win32Resource(Win32Image *module, HRSRC hRes, ULONG id, ULONG type) :
    89109        os2resdata(NULL), winresdata(NULL), resType(RSRC_PE2LX)
     
    91111 APIRET rc;
    92112
     113  resmutex.enter();
    93114  next           = module->winres;
    94115  module->winres = this;
     116  resmutex.leave();
    95117
    96118  this->module   = module;
     
    145167        os2resdata(NULL), winresdata(NULL), resType(RSRC_PELOADER)
    146168{
     169  resmutex.enter();
    147170  next           = module->winres;
    148171  module->winres = this;
     172  resmutex.leave();
    149173
    150174  this->module   = module;
     
    178202  if(winresdata)    free(winresdata);
    179203
     204  resmutex.enter();
    180205  if(res == this) {
    181206    module->winres = res->next;
     
    188213        res->next = next;
    189214  }
     215  resmutex.leave();
    190216}
    191217//******************************************************************************
     
    285311   dprintf(("Win32Resource::lockOS2Resource %d\n", id));
    286312   if(os2resdata == NULL) {
    287         if(resType == RSRC_PELOADER) {
     313        if(resType == RSRC_PELOADER || resType == RSRC_CUSTOMINDIRECT) {
    288314                os2resdata = convertResource(winresdata);
    289315        }
Note: See TracChangeset for help on using the changeset viewer.