Compare commits

...

43 Commits

Author SHA1 Message Date
Brandon Turner
9995407642 version -> release
svn path=/branches/ros-branch-0_2_9/; revision=20302
2005-12-22 18:32:14 +00:00
Brandon Turner
0970bef959 merge 20263 from GL's request.
svn path=/branches/ros-branch-0_2_9/; revision=20266
2005-12-19 01:50:51 +00:00
Hervé Poussineau
501f3eae92 Merge 20261 and part of 20256 from trunk:
- Fix little bug which prevented IRP_MJ_PNP to be forwarded to lower driver
- Fix serial mouse type detection
- Shut up some debug message

svn path=/branches/ros-branch-0_2_9/; revision=20262
2005-12-18 23:02:36 +00:00
Brandon Turner
1bab34f39f change version to RC2
svn path=/branches/ros-branch-0_2_9/; revision=20260
2005-12-18 22:51:10 +00:00
Gé van Geldorp
9902d58ce2 Merge from trunk:
Fix C++ exception handling

svn path=/branches/ros-branch-0_2_9/; revision=20258
2005-12-18 21:01:56 +00:00
Hervé Poussineau
4b5d91277e Merge from trunk:
Fix typo, which lead to be unable to create services with a description text

svn path=/branches/ros-branch-0_2_9/; revision=20254
2005-12-18 18:14:48 +00:00
Hervé Poussineau
f95ef07957 Merge from trunk:
Use the right default value for the serial port baud rate

svn path=/branches/ros-branch-0_2_9/; revision=20252
2005-12-18 18:12:51 +00:00
Gé van Geldorp
1471bad4d2 Add static entries for PCnet and NE2000 network cards (VMware/QEmu resp.) so
networking is available on the LiveCD. Fixes bug 1116 (again :-))

svn path=/branches/ros-branch-0_2_9/; revision=20214
2005-12-16 23:17:18 +00:00
Andrew Munger
33be95a93e Merge 20204 from trunk.
svn path=/branches/ros-branch-0_2_9/; revision=20205
2005-12-16 03:04:02 +00:00
Gé van Geldorp
0ef3fa89ca Fix by Royce3:
Don't wait 10 sec after starting an app via a .lnk file

svn path=/branches/ros-branch-0_2_9/; revision=20199
2005-12-15 20:58:51 +00:00
Ged Murphy
5093f4e90e merge 20197
svn path=/branches/ros-branch-0_2_9/; revision=20198
2005-12-15 20:50:04 +00:00
Andrew Munger
7566da4dbc *Tweetmerge -r 20194:20193 . *Yellow Card* Revert 20194. *g*
svn path=/branches/ros-branch-0_2_9/; revision=20195
2005-12-15 19:12:37 +00:00
Brandon Turner
c805e6657c set default res to 800x600x16
svn path=/branches/ros-branch-0_2_9/; revision=20194
2005-12-15 18:53:33 +00:00
Hervé Poussineau
35a1e044f5 Merge from trunk:
Add message box to tell the user to reboot after the installation of a network card

svn path=/branches/ros-branch-0_2_9/; revision=20193
2005-12-15 18:22:34 +00:00
Andrew Munger
ac5b031aea Merge 20151 from trunk.
svn path=/branches/ros-branch-0_2_9/; revision=20186
2005-12-15 01:47:36 +00:00
Gé van Geldorp
88c6bdc581 Martin Fuchs <martin-fuchs@gmx.net>
Directly return the correct "My Computer" attributes in
ISF_Desktop_fnGetAttributesOf().
Fixes bug 1097

svn path=/branches/ros-branch-0_2_9/; revision=20178
2005-12-14 22:41:16 +00:00
Gé van Geldorp
f4ef493c15 Merge from trunk:
Make property sheet fit in 640x480. Fixes bug 1099

svn path=/branches/ros-branch-0_2_9/; revision=20177
2005-12-14 21:39:24 +00:00
Gé van Geldorp
ef206239f6 Don't pop-up device installer screen.
Fixes bug 1026

svn path=/branches/ros-branch-0_2_9/; revision=20175
2005-12-14 20:32:57 +00:00
Ged Murphy
7ba0b3e0ad merge Art's tcpip changes to the branch
svn path=/branches/ros-branch-0_2_9/; revision=20162
2005-12-14 10:28:30 +00:00
Ged Murphy
5d1b580120 merge 20108 to branch
svn path=/branches/ros-branch-0_2_9/; revision=20109
2005-12-12 20:01:44 +00:00
Andrew Munger
ac56de8f10 Merge 20041 from trunk
svn path=/branches/ros-branch-0_2_9/; revision=20099
2005-12-12 04:50:06 +00:00
Sebastian Gasiorek
0a08dc64a5 merge 20084
svn path=/branches/ros-branch-0_2_9/; revision=20087
2005-12-11 21:29:07 +00:00
Gé van Geldorp
d5ba90fc03 Merge from trunk:
Put back extra info if it was present

svn path=/branches/ros-branch-0_2_9/; revision=20086
2005-12-11 21:24:51 +00:00
Gé van Geldorp
22ea8a7f36 Merge from trunk:
Resolve chained CNAME records

svn path=/branches/ros-branch-0_2_9/; revision=20083
2005-12-11 21:18:32 +00:00
Sebastian Gasiorek
824ed815aa merge 20065
svn path=/branches/ros-branch-0_2_9/; revision=20080
2005-12-11 20:22:21 +00:00
Brandon Turner
1c0fdf270d merge 20048
svn path=/branches/ros-branch-0_2_9/; revision=20076
2005-12-11 19:30:07 +00:00
Brandon Turner
21728b5d71 merge 20051 / 20052
svn path=/branches/ros-branch-0_2_9/; revision=20075
2005-12-11 19:28:17 +00:00
Brandon Turner
f4d4dc00c0 merge 20053
svn path=/branches/ros-branch-0_2_9/; revision=20074
2005-12-11 19:27:51 +00:00
Brandon Turner
81fa1382bb merge 20049
svn path=/branches/ros-branch-0_2_9/; revision=20073
2005-12-11 19:27:22 +00:00
Gé van Geldorp
44689c61ed Merge from trunk:
Use links.reactos.org redirection script

svn path=/branches/ros-branch-0_2_9/; revision=20064
2005-12-11 14:35:33 +00:00
Gé van Geldorp
b7f02b4160 Merge from trunk:
Shut off some debug messages

svn path=/branches/ros-branch-0_2_9/; revision=20046
2005-12-10 22:28:26 +00:00
Gé van Geldorp
2966911af9 Merge from trunk:
Multiple interrupt status bits can be active at the same time, process them
all instead of just one and ignoring the rest.
On an active network card, this would eventually cause all transmit buffers
to be marked "in use", blocking all transmits. Sinds no TCP acks would go out,
it would block TCP receives too.

svn path=/branches/ros-branch-0_2_9/; revision=20044
2005-12-10 22:21:55 +00:00
Gé van Geldorp
a714b65aa6 Merge from trunk:
Remove Wine-ism

svn path=/branches/ros-branch-0_2_9/; revision=20023
2005-12-09 21:50:59 +00:00
Gé van Geldorp
9a9811c882 Merge from trunk:
Tell shdocvw where to get the Mozilla control

svn path=/branches/ros-branch-0_2_9/; revision=20021
2005-12-09 21:48:35 +00:00
Gé van Geldorp
8ec6560a0f Merge from trunk:
Never allocate 0 bytes. Fixes bug 1082.

svn path=/branches/ros-branch-0_2_9/; revision=20011
2005-12-09 17:57:58 +00:00
Gé van Geldorp
19c2f33c29 Merge from trunk:
Synthesize FILE_ATTRIBUTE_NORMAL on NetworkOpenInformation query too.
This fixes the final problem with the Firefox installer.

svn path=/branches/ros-branch-0_2_9/; revision=20006
2005-12-09 13:24:00 +00:00
Gé van Geldorp
c3511de52b Merge from trunk:
Strings with different lengths are not equal

svn path=/branches/ros-branch-0_2_9/; revision=19977
2005-12-08 21:33:49 +00:00
Gé van Geldorp
24c4a95a96 Merge from trunk:
Don't do WM_INITDIALOG processing during window destruction...
Fixes bug 1087.

svn path=/branches/ros-branch-0_2_9/; revision=19974
2005-12-08 19:08:04 +00:00
Gé van Geldorp
84ffb3645f Merge from trunk:
Self-registration of devenum.dll depends on quartz.dll, which we don't have yet.

svn path=/branches/ros-branch-0_2_9/; revision=19972
2005-12-08 18:33:57 +00:00
Gé van Geldorp
cce3271e71 Merge from trunk:
It's possible to select an (indexed) palette into a bitfield (e.g. 16 bit
deep) DC. This palette will be used when calling CreateDIBSection with
DIB_PAL_COLORS usage. Fixes bug 1077.

svn path=/branches/ros-branch-0_2_9/; revision=19969
2005-12-08 17:42:31 +00:00
Gé van Geldorp
ad9c234c2e Merge from trunk:
It's possible to select an (indexed) palette into a bitfield (e.g. 16 bit
deep) DC. This palette will be used when calling CreateDIBSection with
DIB_PAL_COLORS usage. Fixes bug 1077.

svn path=/branches/ros-branch-0_2_9/; revision=19968
2005-12-08 17:41:57 +00:00
Andrew Munger
dafd96040c Merge 19941, 19955, and 19956 to 0.2.9
svn path=/branches/ros-branch-0_2_9/; revision=19965
2005-12-08 17:09:25 +00:00
Brandon Turner
1fd2b6f20a Change version and DBG=0
svn path=/branches/ros-branch-0_2_9/; revision=19952
2005-12-07 18:14:41 +00:00
64 changed files with 1243 additions and 298 deletions

View File

@@ -739,4 +739,7 @@ HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","StartServices",0x000
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","StartGUI",0x00010001,0x00000000
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","Userinit",0x00020000,"%SystemRoot%\system32\userinit.exe"
; Where to download the Mozilla ActiveX control
HKLM,"SOFTWARE\ReactOS\shdocvw","MozillaUrl",0x00000000,"http://links.reactos.org/mozactivex"
; EOF

View File

@@ -533,7 +533,7 @@ HKLM,"SYSTEM\CurrentControlSet\Services\Disk","Type",0x00010001,0x00000001
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog","ErrorControl",0x00010001,0x00000000
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog","Group",0x00000000,"Event log"
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog","ImagePath",0x00020000,"%SystemRoot%\system32\eventlog.exe"
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog","Start",0x00010001,0x00000002
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog","Start",0x00010001,0x00000004
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog","Type",0x00010001,0x00000010
; DHCP client service
@@ -782,4 +782,136 @@ HKLM,"SYSTEM\Setup","OsLoaderPath",0x00000000,"\"
HKLM,"SYSTEM\Setup","SetupType",0x00010001,0x00000001
HKLM,"SYSTEM\Setup","SystemPartition",0x00000000,"\Device\Harddisk0\Partition1"
HKLM,"SYSTEM\Setup","SystemSetupInProgress",0x00010001,0x00000001
; Static entries to get networking on the LiveCD working
; PCnet (VMware)
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","NetCfgInstanceId",0x00000000,"{bf3401a0-6e70-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","BUS_TO_SCAN",0x00000000,"ALL"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","BUSTIMER",0x00000000,"0"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","BUSTYPE",0x00000000,"5"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","EXTPHY",0x00000000,"0"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","FDUP",0x00000000,"0"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","LED0",0x00000000,"10000"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","LED1",0x00000000,"10000"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","LED2",0x00000000,"10000"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","LED3",0x00000000,"10000"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","MPMODE",0x00000000,"0"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","TP",0x00000000,"1"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","DriverDate",0x00000000,"10-8-2005"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","DriverDateData",0x00000001,00,80,cc,39,9b,cb,c5,01
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","DriverDesc",0x00000000,"AMD 79c970 [PCnet32 LANCE]"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","DriverVersion",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","InfPath",0x00000000,"netamd.inf"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","InfSection",0x00000000,"PCNet_Inst"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","InfSectionExt",0x00000000,".NT"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","MatchingDeviceId",0x00000000,"PCI\VEN_1022&DEV_2000"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000","ProviderName",0x00000000,"ReactOS Team"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000\Linkage","Export",0x00000000,"\Device\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000\Linkage","RootDevice",0x00000000,"{bf3401a0-6e70-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0000\Linkage","UpperBind",0x00000000,"Tcpip"
HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}\Connection","Name",0x00000000,"Network connection"
HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}\Connection","PnpInstanceId",0x00000000,"PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11"
HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}\Connection","ShowIcon",0x00010001,0x00000001
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","Capabilities",0x00010001,0x00000000
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","HardwareID",0x00010000,\
"PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10",\
"PCI\VEN_1022&DEV_2000&SUBSYS_20001022",\
"PCI\VEN_1022&DEV_2000&CC_020000",\
"PCI\VEN_1022&DEV_2000&CC_0200"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","CompatibleIDs",0x00010000,\
"PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10",\
"PCI\VEN_1022&DEV_2000&SUBSYS_20001022",\
"PCI\VEN_1022&DEV_2000&CC_020000",\
"PCI\VEN_1022&DEV_2000&CC_0200",\
"PCI\VEN_1022",\
"PCI\CC_020000",\
"PCI\CC_0200"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","DeviceDesc",0x00000000,"AMD 79c970 [PCnet32 LANCE]"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","LocationInformation",0x00000000,"PCI-Bus 0, Device 17, Function 0"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","Driver",0x00000000,"{4d36e972-e325-11ce-bfc1-08002be10318}\0000"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","Class",0x00000000,"Net"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","ClassGUID",0x00000000,"{4d36e972-e325-11ce-bfc1-08002be10318}"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","Mfg",0x00000000,"Advanced Micro Devices (AMD)"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\1&644af68e&11","Service",0x00000000,"PCNet"
HKLM,"SYSTEM\CurrentControlSet\Services\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}\Parameters\Tcpip","DefaultGateway",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Services\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}\Parameters\Tcpip","IPAddress",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Services\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}\Parameters\Tcpip","SubnetMask",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Services\PCNet","Type",0x00010001,0x00000001
HKLM,"SYSTEM\CurrentControlSet\Services\PCNet","Start",0x00010001,0x00000003
HKLM,"SYSTEM\CurrentControlSet\Services\PCNet","ErrorControl",0x00010001,00000000
HKLM,"SYSTEM\CurrentControlSet\Services\PCNet","ImagePath",0x00000000,"System32\drivers\pcnet.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\PCNet","Group",0x00000000,"NDIS"
; NE1000 (QEmu)
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","NetCfgInstanceId",0x00000000,"{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","BusType",0x00000000,"5"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","DriverDate",0x00000000,"11-14-2005"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","DriverDateData",0x00000001,00,40,15,5b,ae,e8,c5,01,00,00,00,00,00,00,00,00
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","DriverDesc",0x00000000,"RTL-8029(AS)"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","DriverVersion",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","InfPath",0x00000000,"netrtpnt.inf"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","InfSection",0x00000000,"NE2000_Inst"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","InfSectionExt",0x00000000,".NT"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","Irq",0x00000000,"B"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","MatchingDeviceId",0x00000000,"PCI\VEN_10EC&DEV_8029"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","NetworkAddress",0x00000000,"001122334455"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","Port",0x00000000,"c100"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001","ProviderName",0x00000000,"ReactOS Team"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Linkage","Export",0x00000000,"\Device\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Linkage","RootDevice",0x00000000,"{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Linkage","UpperBind",0x00000000,"Tcpip"
HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}\Connection","Name",0x00000000,"Network connection"
HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}\Connection","PnpInstanceId",0x00000000,"PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03"
HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}\Connection","ShowIcon",0x00010001,0x00000001
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","Capabilities",0x00010001,0x00000000
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","HardwareID",0x00010000,\
"PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00",\
"PCI\VEN_10EC&DEV_8029&SUBSYS_00000000",\
"PCI\VEN_10EC&DEV_8029&CC_020000",\
"PCI\VEN_10EC&DEV_8029&CC_0200"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","CompatibleIDs",0x00010000,\
"PCI\VEN_10EC&DEV_8029&REV_00",\
"PCI\VEN_10EC&DEV_8029&",\
"PCI\VEN_10EC&CC_020000",\
"PCI\VEN_10EC&CC_0200",\
"PCI\VEN_10EC",\
"PCI\CC_020000",\
"PCI\CC_0200"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","DeviceDesc",0x00000000,"RTL-8029(AS)"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","LocationInformation",0x00000000,"PCI-Bus 0, Device 3, Function 0"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","Driver",0x00000000,"{4d36e972-e325-11ce-bfc1-08002be10318}\0001"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","Class",0x00000000,"Net"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","ClassGUID",0x00000000,"{4d36e972-e325-11ce-bfc1-08002be10318}"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","Mfg",0x00000000,"Realtek Semiconductor"
HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10EC&DEV_8029&SUBSYS_00000000&REV_00\1&644af68e&03","Service",0x00000000,"ne2000"
HKLM,"SYSTEM\CurrentControlSet\Services\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}\Parameters\Tcpip","DefaultGateway",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Services\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}\Parameters\Tcpip","IPAddress",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Services\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}\Parameters\Tcpip","SubnetMask",0x00000000,"0.0.0.0"
HKLM,"SYSTEM\CurrentControlSet\Services\ne2000","Type",0x00010001,0x00000001
HKLM,"SYSTEM\CurrentControlSet\Services\ne2000","Start",0x00010001,0x00000003
HKLM,"SYSTEM\CurrentControlSet\Services\ne2000","ErrorControl",0x00010001,00000000
HKLM,"SYSTEM\CurrentControlSet\Services\ne2000","ImagePath",0x00000000,"System32\drivers\ne2000.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\ne2000","Group",0x00000000,"NDIS"
; Common info
HKLM,"SYSTEM\CurrentControlSet\Services\Tcpip\Linkage","Bind",0x00010000,\
"\Device\{bf3401a0-6e70-11da-2d80-4fc4ac68929a}",\
"\Device\{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Services\Tcpip\Linkage","Export",0x00010000,\
"\Device\Tcpip_{bf3401a0-6e70-11da-2d80-4fc4ac68929a}",\
"\Device\Tcpip_{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}"
HKLM,"SYSTEM\CurrentControlSet\Services\Tcpip\Linkage","Route",0x00010000,\
"{bf3401a0-6e70-11da-2d80-4fc4ac68929a}",\
"{7f14fc20-6e7d-11da-2d80-4fc4ac68929a}"
; EOF

View File

@@ -48,4 +48,4 @@
Whether to compile for debugging. No compiler optimizations will be
performed.
-->
<property name="DBG" value="1" />
<property name="DBG" value="0" />

View File

@@ -100,7 +100,7 @@ DriverEntry(
DriverObject->DriverUnload = DriverUnload;
DriverObject->DriverExtension->AddDevice = SerenumAddDevice;
for (i = 0; i < IRP_MJ_MAXIMUM_FUNCTION; i++)
for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
DriverObject->MajorFunction[i] = IrpStub;
//DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = SerialQueryInformation;

View File

@@ -252,6 +252,7 @@ VfatGetBasicInformation(PFILE_OBJECT FileObject,
FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_READONLY)))
{
DPRINT("Synthesizing FILE_ATTRIBUTE_NORMAL\n");
BasicInfo->FileAttributes |= FILE_ATTRIBUTE_NORMAL;
}
DPRINT("Getting attributes 0x%02x\n", BasicInfo->FileAttributes);
@@ -428,6 +429,16 @@ VfatGetNetworkOpenInformation(PVFATFCB Fcb,
NetworkInfo->EndOfFile = Fcb->RFCB.FileSize;
}
NetworkInfo->FileAttributes = *Fcb->Attributes & 0x3f;
/* Synthesize FILE_ATTRIBUTE_NORMAL */
if (0 == (NetworkInfo->FileAttributes & (FILE_ATTRIBUTE_DIRECTORY |
FILE_ATTRIBUTE_ARCHIVE |
FILE_ATTRIBUTE_SYSTEM |
FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_READONLY)))
{
DPRINT("Synthesizing FILE_ATTRIBUTE_NORMAL\n");
NetworkInfo->FileAttributes |= FILE_ATTRIBUTE_NORMAL;
}
*BufferLength -= sizeof(FILE_NETWORK_OPEN_INFORMATION);
return STATUS_SUCCESS;

View File

@@ -136,6 +136,7 @@ IrpStub(
/* Forward some IRPs to lower device */
switch (IoGetCurrentIrpStackLocation(Irp)->MajorFunction)
{
case IRP_MJ_PNP:
case IRP_MJ_INTERNAL_DEVICE_CONTROL:
return ForwardIrpAndForget(DeviceObject, Irp);
default:
@@ -788,7 +789,7 @@ DriverEntry(
DriverObject->DriverExtension->AddDevice = ClassAddDevice;
DriverObject->DriverUnload = DriverUnload;
for (i = 0; i < IRP_MJ_MAXIMUM_FUNCTION; i++)
for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
DriverObject->MajorFunction[i] = IrpStub;
DriverObject->MajorFunction[IRP_MJ_CREATE] = ClassCreate;

View File

@@ -186,7 +186,7 @@ SermouseDetectLegacyDevice(
&Fcr, sizeof(Fcr), NULL, NULL);
if (!NT_SUCCESS(Status)) goto ByeBye;
/* Set serial port speed */
BaudRate = SERIAL_BAUD_1200;
BaudRate = 1200;
Status = SermouseDeviceIoControl(LowerDevice, IOCTL_SERIAL_SET_BAUD_RATE,
&BaudRate, sizeof(BaudRate), NULL, NULL);
if (!NT_SUCCESS(Status)) goto ByeBye;

View File

@@ -115,8 +115,6 @@ cleanup:
Fdo->Flags |= DO_BUFFERED_IO;
Fdo->Flags &= ~DO_DEVICE_INITIALIZING;
/* FIXME: create registry entry in HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP */
ExFreePool(DeviceNameU.Buffer);
return STATUS_SUCCESS;
@@ -124,6 +122,8 @@ cleanup:
cleanupFDO:
if (DeviceExtension)
{
if (DeviceExtension->LowerDevice)
IoDetachDevice(DeviceExtension->LowerDevice);
ExFreePool(DeviceExtension->MouseInputData[0]);
ExFreePool(DeviceExtension->MouseInputData[1]);
}
@@ -177,7 +177,7 @@ SermouseStartDevice(
/* Override the number of buttons */
DeviceExtension->AttributesInformation.NumberOfButtons = DeviceExtension->DriverExtension->NumberOfButtons;
DeviceExtension->AttributesInformation.SampleRate = 1200 / 8;
DeviceExtension->AttributesInformation.SampleRate = DeviceExtension->DriverExtension->SampleRate / 8;
DeviceExtension->AttributesInformation.InputDataQueueLength = DeviceExtension->DriverExtension->MouseDataQueueSize;
DeviceExtension->MouseType = MouseType;
DeviceExtension->PnpState = dsStarted;

View File

@@ -172,7 +172,7 @@ SermouseDeviceWorker(
for (i = 0; i < ioStatus.Information; i++)
{
ReceivedByte = Buffer[i];
DPRINT1("ReceivedByte 0x%02x\n", ReceivedByte);
DPRINT("ReceivedByte 0x%02x\n", ReceivedByte);
/* Synchronize */
if ((ReceivedByte & 0x40) == 0x40)

View File

@@ -42,7 +42,7 @@ ReadRegistryEntries(
ULONG DefaultMouseDataQueueSize = 0x64;
ULONG DefaultNumberOfButtons = 0;
UNICODE_STRING DefaultPointerDeviceBaseName = RTL_CONSTANT_STRING(L"PointerPort");
ULONG DefaultSampleRate = SERIAL_BAUD_1200;
ULONG DefaultSampleRate = 1200;
ParametersRegistryKey.Length = 0;
ParametersRegistryKey.MaximumLength = RegistryPath->Length + sizeof(L"\\Parameters") + sizeof(UNICODE_NULL);
@@ -150,7 +150,7 @@ DriverEntry(
DriverObject->DriverUnload = DriverUnload;
DriverObject->DriverExtension->AddDevice = SermouseAddDevice;
for (i = 0; i < IRP_MJ_MAXIMUM_FUNCTION; i++)
for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
DriverObject->MajorFunction[i] = IrpStub;
DriverObject->MajorFunction[IRP_MJ_CREATE] = SermouseCreate;

View File

@@ -0,0 +1,7 @@
<module name="chew" type="staticlibrary">
<define name="__USE_W32API" />
<define name="_NTOSKRNL_" />
<include base="chew">include</include>
<include base="reactos">w32api/include/ddk</include>
<file>workqueue.c</file>
</module>

View File

@@ -0,0 +1,106 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: drivers/lib/chew/workqueue.c
* PURPOSE: Common Highlevel Executive Worker
*
* PROGRAMMERS: arty (ayerkes@speakeasy.net)
*/
#include <ntddk.h>
#include <chew/chew.h>
#define NDEBUG
#define FOURCC(w,x,y,z) (((w) << 24) | ((x) << 16) | ((y) << 8) | (z))
PDEVICE_OBJECT WorkQueueDevice;
LIST_ENTRY WorkQueue;
KSPIN_LOCK WorkQueueLock;
typedef struct _WORK_ITEM {
LIST_ENTRY Entry;
PIO_WORKITEM WorkItem;
VOID (*Worker)( PVOID Data );
CHAR UserSpace[1];
} WORK_ITEM, *PWORK_ITEM;
VOID ChewInit( PDEVICE_OBJECT DeviceObject ) {
WorkQueueDevice = DeviceObject;
InitializeListHead( &WorkQueue );
KeInitializeSpinLock( &WorkQueueLock );
}
VOID ChewShutdown() {
KIRQL OldIrql;
PLIST_ENTRY Entry;
PWORK_ITEM WorkItem;
KeAcquireSpinLock( &WorkQueueLock, &OldIrql );
while( !IsListEmpty( &WorkQueue ) ) {
Entry = RemoveHeadList( &WorkQueue );
WorkItem = CONTAINING_RECORD( Entry, WORK_ITEM, Entry );
IoFreeWorkItem( WorkItem->WorkItem );
ExFreePool( WorkItem );
}
KeReleaseSpinLock( &WorkQueueLock, OldIrql );
}
VOID STDCALL ChewWorkItem( PDEVICE_OBJECT DeviceObject, PVOID ChewItem ) {
PWORK_ITEM WorkItem = ChewItem;
RemoveEntryList( &WorkItem->Entry );
if( WorkItem->Worker )
WorkItem->Worker( WorkItem->UserSpace );
IoFreeWorkItem( WorkItem->WorkItem );
ExFreePool( WorkItem );
}
BOOLEAN ChewCreate
( PVOID *ItemPtr, UINT Bytes, VOID (*Worker)( PVOID ), PVOID UserSpace ) {
PWORK_ITEM Item;
if( KeGetCurrentIrql() == PASSIVE_LEVEL ) {
if( ItemPtr )
*ItemPtr = NULL;
Worker(UserSpace);
return TRUE;
} else {
Item = ExAllocatePoolWithTag
( NonPagedPool,
sizeof( WORK_ITEM ) + Bytes - 1,
FOURCC('C','H','E','W') );
if( Item ) {
Item->WorkItem = IoAllocateWorkItem( WorkQueueDevice );
if( !Item->WorkItem ) {
ExFreePool( Item );
return FALSE;
}
Item->Worker = Worker;
if( Bytes && UserSpace )
RtlCopyMemory( Item->UserSpace, UserSpace, Bytes );
ExInterlockedInsertTailList
( &WorkQueue, &Item->Entry, &WorkQueueLock );
IoQueueWorkItem
( Item->WorkItem, ChewWorkItem, CriticalWorkQueue, Item );
if( ItemPtr )
*ItemPtr = Item;
return TRUE;
} else {
return FALSE;
}
}
}
VOID ChewRemove( PVOID Item ) {
PWORK_ITEM WorkItem = Item;
IoFreeWorkItem( WorkItem->WorkItem );
ExFreePool( WorkItem );
}

View File

@@ -10,3 +10,6 @@
<directory name="oskittcp">
<xi:include href="oskittcp/oskittcp.xml" />
</directory>
<directory name="chew">
<xi:include href="chew/chew.xml" />
</directory>

View File

@@ -647,4 +647,34 @@ NTSTATUS TCPGetPeerAddress
return STATUS_SUCCESS;
}
VOID TCPRemoveIRP( PCONNECTION_ENDPOINT Endpoint, PIRP Irp ) {
PLIST_ENTRY Entry;
PLIST_ENTRY ListHead[4];
KIRQL OldIrql;
PTDI_BUCKET Bucket;
UINT i = 0;
ListHead[0] = &Endpoint->ReceiveRequest;
ListHead[1] = &Endpoint->ConnectRequest;
ListHead[2] = &Endpoint->ListenRequest;
ListHead[3] = 0;
TcpipAcquireSpinLock( &Endpoint->Lock, &OldIrql );
for( i = 0; ListHead[i]; i++ ) {
for( Entry = ListHead[i]->Flink;
Entry != ListHead[i];
Entry = Entry->Flink ) {
Bucket = CONTAINING_RECORD( Entry, TDI_BUCKET, Entry );
if( Bucket->Request.RequestContext == Irp ) {
RemoveEntryList( &Bucket->Entry );
break;
}
}
}
TcpipReleaseSpinLock( &Endpoint->Lock, OldIrql );
}
/* EOF */

View File

@@ -140,7 +140,8 @@ int OskitTCPRecv( void *connection,
*OutLen = 0;
printf("so->so_state %x\n", ((struct socket *)connection)->so_state);
OS_DbgPrint(OSK_MID_TRACE,
("so->so_state %x\n", ((struct socket *)connection)->so_state));
if( Flags & OSK_MSG_OOB ) tcp_flags |= MSG_OOB;
if( Flags & OSK_MSG_DONTWAIT ) tcp_flags |= MSG_DONTWAIT;

View File

@@ -87,11 +87,11 @@ MiniportHandleInterrupt(
if (Data & CSR0_CERR)
Adapter->Statistics.XmtCollisions++;
}
else if(Data & CSR0_IDON)
if(Data & CSR0_IDON)
{
DPRINT("IDON\n");
}
else if(Data & CSR0_RINT)
if(Data & CSR0_RINT)
{
DPRINT("receive interrupt\n");
@@ -147,7 +147,7 @@ MiniportHandleInterrupt(
Adapter->Statistics.RcvGoodFrames++;
}
}
else if(Data & CSR0_TINT)
if(Data & CSR0_TINT)
{
PTRANSMIT_DESCRIPTOR Descriptor;
@@ -201,10 +201,9 @@ MiniportHandleInterrupt(
}
NdisMSendResourcesAvailable(Adapter->MiniportAdapterHandle);
}
else
if(Data & ~(CSR0_ERR | CSR0_IDON | CSR0_RINT | CSR0_TINT))
{
DPRINT1("UNHANDLED INTERRUPT\n");
ASSERT(FALSE);
DPRINT("UNHANDLED INTERRUPT CSR0 0x%x\n", Data);
}
NdisRawReadPortUshort(Adapter->PortOffset + RDP, &Data);
@@ -1081,7 +1080,7 @@ MiniportSend(
(Adapter->CurrentTransmitEndIndex == NUMBER_OF_BUFFERS - 1 &&
Adapter->CurrentTransmitStartIndex == 0))
{
DPRINT("No free space in circular buffer\n");
DPRINT1("No free space in circular buffer\n");
NdisDprReleaseSpinLock(&Adapter->Lock);
return NDIS_STATUS_RESOURCES;
}

View File

@@ -377,7 +377,9 @@ VOID NTAPI
MiniSendResourcesAvailable(
IN NDIS_HANDLE MiniportAdapterHandle)
{
/*
UNIMPLEMENTED
*/
}
@@ -875,6 +877,27 @@ VOID NTAPI MiniportDpc(
}
}
VOID
NTAPI
MiniStatus(
IN NDIS_HANDLE MiniportHandle,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize)
{
UNIMPLEMENTED
}
VOID
NTAPI
MiniStatusComplete(
IN NDIS_HANDLE MiniportAdapterHandle)
{
UNIMPLEMENTED
}
/*
* @unimplemented
@@ -1404,6 +1427,8 @@ NdisIPnPStartDevice(
Adapter->NdisMiniportBlock.ResetCompleteHandler = MiniResetComplete;
Adapter->NdisMiniportBlock.TDCompleteHandler = MiniTransferDataComplete;
Adapter->NdisMiniportBlock.PacketIndicateHandler= MiniIndicateReceivePacket;
Adapter->NdisMiniportBlock.StatusHandler = MiniStatus;
Adapter->NdisMiniportBlock.StatusCompleteHandler= MiniStatusComplete;
Adapter->NdisMiniportBlock.MediaType = MediaArray[SelectedMediumIndex];

View File

@@ -51,11 +51,6 @@ BOOLEAN ProtocolRegistered = FALSE;
LIST_ENTRY AdapterListHead;
KSPIN_LOCK AdapterListLock;
/* Work around being called back into afd at Dpc level */
KSPIN_LOCK LanWorkLock;
LIST_ENTRY LanWorkList;
WORK_QUEUE_ITEM LanWorkItem;
/* Double complete protection */
KSPIN_LOCK LanSendCompleteLock;
LIST_ENTRY LanSendCompleteList;
@@ -289,10 +284,9 @@ VOID STDCALL ProtocolSendComplete(
}
}
VOID STDCALL LanReceiveWorker( PVOID Context ) {
VOID LanReceiveWorker( PVOID Context ) {
UINT PacketType;
PLIST_ENTRY ListEntry;
PLAN_WQ_ITEM WorkItem;
PLAN_WQ_ITEM WorkItem = (PLAN_WQ_ITEM)Context;
PNDIS_PACKET Packet;
PLAN_ADAPTER Adapter;
UINT BytesTransferred;
@@ -301,60 +295,49 @@ VOID STDCALL LanReceiveWorker( PVOID Context ) {
TI_DbgPrint(DEBUG_DATALINK, ("Called.\n"));
while( (ListEntry =
ExInterlockedRemoveHeadList( &LanWorkList, &LanWorkLock )) ) {
WorkItem = CONTAINING_RECORD(ListEntry, LAN_WQ_ITEM, ListEntry);
Packet = WorkItem->Packet;
Adapter = WorkItem->Adapter;
BytesTransferred = WorkItem->BytesTransferred;
TI_DbgPrint(DEBUG_DATALINK, ("WorkItem: %x\n", WorkItem));
IPPacket.NdisPacket = Packet;
Packet = WorkItem->Packet;
Adapter = WorkItem->Adapter;
BytesTransferred = WorkItem->BytesTransferred;
NdisGetFirstBufferFromPacket(Packet,
&NdisBuffer,
&IPPacket.Header,
&IPPacket.ContigSize,
&IPPacket.TotalSize);
ExFreePool( WorkItem );
IPPacket.ContigSize = IPPacket.TotalSize = BytesTransferred;
/* Determine which upper layer protocol that should receive
this packet and pass it to the correct receive handler */
IPPacket.NdisPacket = Packet;
TI_DbgPrint(MID_TRACE,
("ContigSize: %d, TotalSize: %d, BytesTransferred: %d\n",
IPPacket.ContigSize, IPPacket.TotalSize,
BytesTransferred));
NdisGetFirstBufferFromPacket(Packet,
&NdisBuffer,
&IPPacket.Header,
&IPPacket.ContigSize,
&IPPacket.TotalSize);
PacketType = PC(IPPacket.NdisPacket)->PacketType;
IPPacket.Position = 0;
IPPacket.ContigSize = IPPacket.TotalSize = BytesTransferred;
/* Determine which upper layer protocol that should receive
this packet and pass it to the correct receive handler */
TI_DbgPrint
(DEBUG_DATALINK,
("Ether Type = %x ContigSize = %d Total = %d\n",
PacketType, IPPacket.ContigSize, IPPacket.TotalSize));
TI_DbgPrint(MID_TRACE,
("ContigSize: %d, TotalSize: %d, BytesTransferred: %d\n",
IPPacket.ContigSize, IPPacket.TotalSize,
BytesTransferred));
PacketType = PC(IPPacket.NdisPacket)->PacketType;
IPPacket.Position = 0;
TI_DbgPrint
(DEBUG_DATALINK,
("Ether Type = %x ContigSize = %d Total = %d\n",
PacketType, IPPacket.ContigSize, IPPacket.TotalSize));
switch (PacketType) {
case ETYPE_IPv4:
case ETYPE_IPv6:
TI_DbgPrint(MID_TRACE,("Received IP Packet\n"));
IPReceive(Adapter->Context, &IPPacket);
break;
case ETYPE_ARP:
TI_DbgPrint(MID_TRACE,("Received ARP Packet\n"));
ARPReceive(Adapter->Context, &IPPacket);
default:
break;
}
FreeNdisPacket( Packet );
switch (PacketType) {
case ETYPE_IPv4:
case ETYPE_IPv6:
TI_DbgPrint(MID_TRACE,("Received IP Packet\n"));
IPReceive(Adapter->Context, &IPPacket);
break;
case ETYPE_ARP:
TI_DbgPrint(MID_TRACE,("Received ARP Packet\n"));
ARPReceive(Adapter->Context, &IPPacket);
default:
break;
}
TI_DbgPrint(DEBUG_DATALINK, ("Leaving\n"));
LanReceiveWorkerBusy = FALSE;
FreeNdisPacket( Packet );
}
VOID LanSubmitReceiveWork(
@@ -362,33 +345,19 @@ VOID LanSubmitReceiveWork(
PNDIS_PACKET Packet,
NDIS_STATUS Status,
UINT BytesTransferred) {
PLAN_WQ_ITEM WQItem;
LAN_WQ_ITEM WQItem;
PLAN_ADAPTER Adapter = (PLAN_ADAPTER)BindingContext;
KIRQL OldIrql;
PVOID LanWorkItem;
TI_DbgPrint(DEBUG_DATALINK,("called\n"));
TcpipAcquireSpinLock( &LanWorkLock, &OldIrql );
WQItem.Packet = Packet;
WQItem.Adapter = Adapter;
WQItem.BytesTransferred = BytesTransferred;
WQItem = ExAllocatePool( NonPagedPool, sizeof(LAN_WQ_ITEM) );
if( !WQItem ) {
TcpipReleaseSpinLock( &LanWorkLock, OldIrql );
return;
}
WQItem->Packet = Packet;
WQItem->Adapter = Adapter;
WQItem->BytesTransferred = BytesTransferred;
InsertTailList( &LanWorkList, &WQItem->ListEntry );
if( !LanReceiveWorkerBusy ) {
LanReceiveWorkerBusy = TRUE;
ExQueueWorkItem( &LanWorkItem, CriticalWorkQueue );
TI_DbgPrint(DEBUG_DATALINK,
("Work item inserted %x %x\n", &LanWorkItem, WQItem));
} else {
DbgPrint("LAN WORKER BUSY %x %x\n", &LanWorkItem, WQItem);
}
TcpipReleaseSpinLock( &LanWorkLock, OldIrql );
if( !ChewCreate
( &LanWorkItem, sizeof(LAN_WQ_ITEM), LanReceiveWorker, &WQItem ) )
ASSERT(0);
}
VOID STDCALL ProtocolTransferDataComplete(
@@ -451,7 +420,6 @@ NDIS_STATUS STDCALL ProtocolReceive(
PNDIS_PACKET NdisPacket;
PLAN_ADAPTER Adapter = (PLAN_ADAPTER)BindingContext;
PETH_HEADER EHeader = (PETH_HEADER)HeaderBuffer;
KIRQL OldIrql;
TI_DbgPrint(DEBUG_DATALINK, ("Called. (packetsize %d)\n",PacketSize));
@@ -489,12 +457,9 @@ NDIS_STATUS STDCALL ProtocolReceive(
TI_DbgPrint(DEBUG_DATALINK, ("Adapter: %x (MTU %d)\n",
Adapter, Adapter->MTU));
TcpipAcquireSpinLock( &LanWorkLock, &OldIrql );
NdisStatus = AllocatePacketWithBuffer( &NdisPacket, NULL,
PacketSize + HeaderBufferSize );
if( NdisStatus != NDIS_STATUS_SUCCESS ) {
TcpipReleaseSpinLock( &LanWorkLock, OldIrql );
return NDIS_STATUS_NOT_ACCEPTED;
}
@@ -533,7 +498,6 @@ NDIS_STATUS STDCALL ProtocolReceive(
BytesTransferred = 0;
}
}
TcpipReleaseSpinLock( &LanWorkLock, OldIrql );
TI_DbgPrint(DEBUG_DATALINK, ("Calling complete\n"));
if (NdisStatus != NDIS_STATUS_PENDING)
@@ -1368,10 +1332,8 @@ VOID LANUnregisterProtocol(
}
VOID LANStartup() {
InitializeListHead( &LanWorkList );
InitializeListHead( &LanSendCompleteList );
KeInitializeSpinLock( &LanSendCompleteLock );
ExInitializeWorkItem( &LanWorkItem, LanReceiveWorker, NULL );
}
VOID LANShutdown() {
@@ -1379,15 +1341,6 @@ VOID LANShutdown() {
PLAN_WQ_ITEM WorkItem;
PLIST_ENTRY ListEntry;
TcpipAcquireSpinLock( &LanWorkLock, &OldIrql );
while( !IsListEmpty( &LanWorkList ) ) {
ListEntry = RemoveHeadList( &LanWorkList );
WorkItem = CONTAINING_RECORD(ListEntry, LAN_WQ_ITEM, ListEntry);
FreeNdisPacket( WorkItem->Packet );
ExFreePool( WorkItem );
}
TcpipReleaseSpinLock( &LanWorkLock, OldIrql );
KeAcquireSpinLock( &LanSendCompleteLock, &OldIrql );
while( !IsListEmpty( &LanSendCompleteList ) ) {
ListEntry = RemoveHeadList( &LanSendCompleteList );

View File

@@ -36,4 +36,4 @@
#include <ports.h>
#include <ipifcons.h>
#include <ndk/ntndk.h>
#include <chew/chew.h>

View File

@@ -176,4 +176,6 @@ NTSTATUS TCPStartup(
NTSTATUS TCPShutdown(
VOID);
VOID TCPRemoveIRP( PCONNECTION_ENDPOINT Connection, PIRP Irp );
#endif /* __TCP_H */

View File

@@ -9,6 +9,7 @@
<library>oskittcp</library>
<library>ndis</library>
<library>pseh</library>
<library>chew</library>
<library>ntoskrnl</library>
<library>hal</library>
<directory name="include">

View File

@@ -135,6 +135,30 @@ VOID DispDataRequestComplete(
TI_DbgPrint(DEBUG_IRP, ("Done Completing IRP\n"));
}
typedef struct _DISCONNECT_TYPE {
UINT Type;
PVOID Context;
PIRP Irp;
PFILE_OBJECT FileObject;
} DISCONNECT_TYPE, *PDISCONNECT_TYPE;
VOID DispDoDisconnect( PVOID Data ) {
PDISCONNECT_TYPE DisType = (PDISCONNECT_TYPE)Data;
TI_DbgPrint(DEBUG_IRP, ("PostCancel: DoDisconnect\n"));
TCPDisconnect
( DisType->Context,
DisType->Type,
NULL,
NULL,
DispDataRequestComplete,
DisType->Irp );
TI_DbgPrint(DEBUG_IRP, ("PostCancel: DoDisconnect done\n"));
DispDataRequestComplete(DisType->Irp, STATUS_CANCELLED, 0);
DispCancelComplete(DisType->FileObject);
}
VOID DDKAPI DispCancelRequest(
PDEVICE_OBJECT Device,
@@ -150,6 +174,8 @@ VOID DDKAPI DispCancelRequest(
PTRANSPORT_CONTEXT TranContext;
PFILE_OBJECT FileObject;
UCHAR MinorFunction;
DISCONNECT_TYPE DisType;
PVOID WorkItem;
/*NTSTATUS Status = STATUS_SUCCESS;*/
TI_DbgPrint(DEBUG_IRP, ("Called.\n"));
@@ -161,6 +187,8 @@ VOID DDKAPI DispCancelRequest(
TI_DbgPrint(DEBUG_IRP, ("IRP at (0x%X) MinorFunction (0x%X) IrpSp (0x%X).\n", Irp, MinorFunction, IrpSp));
Irp->IoStatus.Status = STATUS_PENDING;
#ifdef DBG
if (!Irp->Cancel)
TI_DbgPrint(MIN_TRACE, ("Irp->Cancel is FALSE, should be TRUE.\n"));
@@ -169,26 +197,22 @@ VOID DDKAPI DispCancelRequest(
/* Try canceling the request */
switch(MinorFunction) {
case TDI_SEND:
TCPDisconnect
( TranContext->Handle.ConnectionContext,
TDI_DISCONNECT_RELEASE,
NULL,
NULL,
DispDataRequestComplete,
Irp );
break;
case TDI_RECEIVE:
TCPDisconnect
( TranContext->Handle.ConnectionContext,
TDI_DISCONNECT_ABORT | TDI_DISCONNECT_RELEASE,
NULL,
NULL,
DispDataRequestComplete,
Irp );
DisType.Type = TDI_DISCONNECT_RELEASE |
((MinorFunction == TDI_RECEIVE) ? TDI_DISCONNECT_ABORT : 0);
DisType.Context = TranContext->Handle.ConnectionContext;
DisType.Irp = Irp;
DisType.FileObject = FileObject;
TCPRemoveIRP( TranContext->Handle.ConnectionContext, Irp );
if( !ChewCreate( &WorkItem, sizeof(DISCONNECT_TYPE),
DispDoDisconnect, &DisType ) )
ASSERT(0);
break;
case TDI_SEND_DATAGRAM:
Irp->IoStatus.Status = STATUS_CANCELLED;
if (FileObject->FsContext2 != (PVOID)TDI_TRANSPORT_ADDRESS_FILE) {
TI_DbgPrint(MIN_TRACE, ("TDI_SEND_DATAGRAM, but no address file.\n"));
break;
@@ -198,6 +222,7 @@ VOID DDKAPI DispCancelRequest(
break;
case TDI_RECEIVE_DATAGRAM:
Irp->IoStatus.Status = STATUS_CANCELLED;
if (FileObject->FsContext2 != (PVOID)TDI_TRANSPORT_ADDRESS_FILE) {
TI_DbgPrint(MIN_TRACE, ("TDI_RECEIVE_DATAGRAM, but no address file.\n"));
break;
@@ -211,9 +236,10 @@ VOID DDKAPI DispCancelRequest(
break;
}
IoReleaseCancelSpinLock(Irp->CancelIrql);
if( Irp->IoStatus.Status == STATUS_PENDING )
IoMarkIrpPending(Irp);
DispCancelComplete(FileObject);
IoReleaseCancelSpinLock(Irp->CancelIrql);
TI_DbgPrint(MAX_TRACE, ("Leaving.\n"));
}

View File

@@ -619,6 +619,8 @@ VOID STDCALL TiUnload(
}
TcpipReleaseSpinLock(&AddressFileListLock, OldIrql);
#endif
ChewShutdown();
/* Cancel timer */
KeCancelTimer(&IPTimer);
@@ -734,6 +736,8 @@ DriverEntry(
return Status;
}
ChewInit( IPDeviceObject );
/* Create RawIP device object */
Status = IoCreateDevice(DriverObject, 0, &strRawDeviceName,
FILE_DEVICE_NETWORK, 0, FALSE, &RawIPDeviceObject);

View File

@@ -312,7 +312,7 @@ ohci_dbg (ohci, "sleeping = %d, disabled = %d\n",
/*-------------------------------------------------------------------------*/
static const struct hc_driver ohci_pci_hc_driver = {
static struct hc_driver ohci_pci_hc_driver = {
.description = hcd_name,
/*

View File

@@ -458,7 +458,10 @@ static inline void usbfs_add_device(struct usb_device *dev)
if (dev->parent)
{
PDEVICE_OBJECT Pdo = (PDEVICE_OBJECT)dev->parent->dev.dev_ext;
IoInvalidateDeviceRelations(Pdo, BusRelations);
if (Pdo)
IoInvalidateDeviceRelations(Pdo, BusRelations);
else
DPRINT1("Pdo == NULL, not sending IoInvalidateDeviceRelations()!");
}
}
static inline void usbfs_remove_device(struct usb_device *dev) {}

View File

@@ -0,0 +1,40 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: include/chew/chew.h
* PURPOSE: Common Highlevel Executive Worker
*
* PROGRAMMERS: arty (ayerkes@speakeasy.net)
*/
#ifndef _REACTOS_CHEW_H
#define _REACTOS_CHEW_H
/**
* Initialize CHEW, given a device object (since IoAllocateWorkItem relies on
* it).
*/
VOID ChewInit( PDEVICE_OBJECT DeviceObject );
/**
* Shutdown CHEW, including removing remaining work items.
*/
VOID ChewShutdown();
/**
* Create a work item, or perform the work, based on IRQL.
* At passive level, Worker is called directly on UserSpace.
* At greater than passive level, a work item is created with Bytes
* context area and data copied from UserSpace.
* If a work item is created, Item contains the address and the function
* returns true.
* If the work is performed immediately, Item contains NULL and the
* function returns true.
* Else, the function returns false and Item is undefined.
*/
BOOLEAN ChewCreate
( PVOID *Item, UINT Bytes, VOID (*Worker)(PVOID), PVOID UserSpace );
/**
* Remove a work item, given the pointer returned to Item in ChewCreate.
*/
VOID ChewRemove( PVOID Item );
#endif/*_REACTOS_CHEW_H*/

View File

@@ -18,11 +18,11 @@
#define __VERSION_H
#define KERNEL_VERSION_MAJOR 0
#define KERNEL_VERSION_MINOR 3
#define KERNEL_VERSION_PATCH_LEVEL 0
#define KERNEL_VERSION_MINOR 2
#define KERNEL_VERSION_PATCH_LEVEL 9
/* KERNEL_VERSION_BUILD_TYPE is L"SVN", L"RC1", L"RC2" or L"RELEASE" */
#define KERNEL_VERSION_BUILD_TYPE L"SVN"
#define KERNEL_VERSION_BUILD_TYPE L"RELEASE"
#endif

View File

@@ -100,6 +100,8 @@ typedef struct _DC
INT saveLevel;
BOOL IsIC;
HPALETTE PalIndexed;
WIN_DC_INFO w;
} DC, *PDC;

View File

@@ -13,7 +13,7 @@ BEGIN
ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16
LTEXT "The following Software can be automatically removed. To remove a program or to modify its installed components, select it from the list and click Add/Remove.",-1,36,72,PROPSHEETWIDTH-48,32
LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 105, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP
PUSHBUTTON "Add/&Remove", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14
PUSHBUTTON "Modify/&Remove", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14
END
IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT

View File

@@ -1,6 +1,6 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22>S<EFBFBD><53>"
FONT 9, "MS UI Gothic"
@@ -9,7 +9,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22><><EFBFBD>l"
FONT 9, "MS UI Gothic"
@@ -18,7 +18,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22>ʉ<EFBFBD>"
FONT 9, "MS UI Gothic"
@@ -27,7 +27,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22><><EFBFBD><EFBFBD>"
FONT 9, "MS UI Gothic"
@@ -43,15 +43,15 @@ BEGIN
COMBOBOX IDC_TIMEAMSYMBOL, 68, 86, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
LTEXT "<22>ߌ<EFBFBD><DF8C>̋L<CC8B><4C>(&P):", -1, 13, 106, 54, 10, WS_VISIBLE | WS_GROUP
COMBOBOX IDC_TIMEPMSYMBOL, 68, 104, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
GROUPBOX "", -1, 7, 132, 228, 88, WS_VISIBLE
GROUPBOX "", -1, 7, 124, 228, 60, WS_VISIBLE
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD>̌`<60><><EFBFBD>̕\\<5C>L<EFBFBD>@\n\n\
h = <20><><EFBFBD><EFBFBD> m = <20><> s = <20>b t = <20>ߑO<DF91>܂<EFBFBD><DC82>͌ߌ<CD8C>\n\n\
h = 12 <20><><EFBFBD><EFBFBD>\nH = 24 <20><><EFBFBD><EFBFBD>\n\nhh, mm, ss = <20><EFBFBD>Ƀ[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\
h, m, s = <20><EFBFBD>Ƀ[<5B><><EFBFBD>Ȃ<EFBFBD>", -1, 13, 141, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
h, m, s = <20><EFBFBD>Ƀ[<5B><><EFBFBD>Ȃ<EFBFBD>", -1, 13, 133, 214, 47, WS_CHILD |WS_VISIBLE | WS_GROUP
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22><><EFBFBD>t"
FONT 9, "MS UI Gothic"
@@ -60,7 +60,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22><><EFBFBD>͌<EFBFBD><CD8C><EFBFBD>"
FONT 9, "MS UI Gothic"

View File

@@ -2,7 +2,7 @@
LANGUAGE LANG_CZECH, SUBLANG_NEUTRAL
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Obecn<63> nastaven<65>"
FONT 8, "MS Shell Dlg"
@@ -11,7 +11,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22><>sla"
FONT 8, "MS Shell Dlg"
@@ -20,7 +20,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "M<>na"
FONT 8, "MS Shell Dlg"
@@ -29,7 +29,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22>as"
FONT 8, "MS Shell Dlg"
@@ -45,16 +45,15 @@ BEGIN
COMBOBOX IDC_TIMEAMSYMBOL, 68, 86, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
LTEXT "Zkratka odpoledne:", -1, 13, 106, 54, 10, WS_VISIBLE | WS_GROUP
COMBOBOX IDC_TIMEPMSYMBOL, 68, 104, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
GROUPBOX "", -1, 7, 132, 228, 88, WS_VISIBLE
GROUPBOX "", -1, 7, 124, 228, 60, WS_VISIBLE
LTEXT "Z<>pis form<72>tu <20>asu\n\n\
h = hodina m = minuta s = vte<74>ina t = dop. nebo odp.\n\n\
h = 12-ti hodinov<6F> cyklus\nH = 24-ti godinov<6F> cyklus\n\n\
hh, mm, ss = po<70><6F>te<74>n<EFBFBD> nula\n\
h, m, s = bez po<70><6F>te<74>n<EFBFBD> nuly", -1, 13, 141, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
h = hodina m = minuta s = vte<74>ina t = dop. nebo odp.\n\n\
h = 12-ti hodinov<6F> cyklus H = 24-ti godinov<6F> cyklus\n\
hh, mm, ss = po<70><6F>te<74>n<EFBFBD> nula h, m, s = bez po<70><6F>te<74>n<EFBFBD> nuly", -1, 13, 133, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Datum"
FONT 8, "MS Shell Dlg"
@@ -63,7 +62,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Jazyky"
FONT 8, "MS Shell Dlg"

View File

@@ -2,7 +2,7 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Allgemein"
FONT 8, "MS Shell Dlg"
@@ -11,7 +11,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Zahlen"
FONT 8, "MS Shell Dlg"
@@ -20,7 +20,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "W<>hrung"
FONT 8, "MS Shell Dlg"
@@ -29,7 +29,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Uhrzeit"
FONT 8, "MS Shell Dlg"
@@ -45,16 +45,15 @@ BEGIN
COMBOBOX IDC_TIMEAMSYMBOL, 68, 86, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
LTEXT "Symbol f<>r &Nachmittag:", -1, 13, 106, 54, 10, WS_VISIBLE | WS_GROUP
COMBOBOX IDC_TIMEPMSYMBOL, 68, 104, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
GROUPBOX "", -1, 7, 132, 228, 88, WS_VISIBLE
GROUPBOX "", -1, 7, 124, 228, 60, WS_VISIBLE
LTEXT "Zeitformat\n\n\
h = Stunde m = Minute s = Sekunde t = Vor-/Nachmittag\n\n\
h = 12 Stunden\nH = 24 Stunden\n\n\
hh, mm, ss = f<>hrende Null\n\
h, m, s = keine f<>hrende Null", -1, 13, 141, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
h = Stunde m = Minute s = Sekunde t = Vor-/Nachmittag\n\n\
h = 12 Stunden H = 24 Stunden\n\
hh, mm, ss = f<>hrende Null h, m, s = keine f<>hrende Null", -1, 13, 133, 214, 47, WS_CHILD |WS_VISIBLE | WS_GROUP
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Datum"
FONT 8, "MS Shell Dlg"
@@ -63,7 +62,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Regionale Einstellungen"
FONT 8, "MS Shell Dlg"

View File

@@ -2,7 +2,7 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "General"
FONT 8, "MS Shell Dlg"
@@ -11,7 +11,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Numbers"
FONT 8, "MS Shell Dlg"
@@ -20,7 +20,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Currency"
FONT 8, "MS Shell Dlg"
@@ -29,7 +29,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Time"
FONT 8, "MS Shell Dlg"
@@ -45,15 +45,16 @@ BEGIN
COMBOBOX IDC_TIMEAMSYMBOL, 68, 86, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
LTEXT "&PM symbol:", -1, 13, 106, 54, 10, WS_VISIBLE | WS_GROUP
COMBOBOX IDC_TIMEPMSYMBOL, 68, 104, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
GROUPBOX "", -1, 7, 132, 228, 88, WS_VISIBLE
GROUPBOX "", -1, 7, 124, 228, 60, WS_VISIBLE
LTEXT "Time format notation\n\n\
h = hour m = minute s = second t = am or pm\n\nh = 12 hour\n\
H = 24 hour\n\nhh, mm, ss = leading zero\n\
h, m, s = no leading zero", -1, 13, 141, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
h = hour m = minute s = second t = am or pm\n\n\
h = 12 hour H = 24 hour\n\
hh, mm, ss = leading zero h, m, s = no leading zero",
-1, 13, 133, 214, 47, WS_CHILD |WS_VISIBLE | WS_GROUP
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Date"
FONT 8, "MS Shell Dlg"
@@ -62,7 +63,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Input Locale"
FONT 8, "MS Shell Dlg"

View File

@@ -6,7 +6,7 @@
LANGUAGE LANG_SPANISH, SUBLANG_SPANISH
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "General"
FONT 8, "MS Shell Dlg"
@@ -15,7 +15,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Numeros"
FONT 8, "MS Shell Dlg"
@@ -24,7 +24,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Moneda"
FONT 8, "MS Shell Dlg"
@@ -33,7 +33,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Tiempo"
FONT 8, "MS Shell Dlg"
@@ -49,18 +49,16 @@ BEGIN
COMBOBOX IDC_TIMEAMSYMBOL, 68, 86, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
LTEXT "S<>mbolo &PM:", -1, 13, 106, 54, 10, WS_VISIBLE | WS_GROUP
COMBOBOX IDC_TIMEPMSYMBOL, 68, 104, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
GROUPBOX "", -1, 7, 132, 228, 88, WS_VISIBLE
GROUPBOX "", -1, 7, 124, 228, 60, WS_VISIBLE
LTEXT "Formato de Notaci<63>n del Tiempo\n\n"
"h = hora m = minuto s = segundo t = am <20> pm\n\n"
"h = 12 houras\n"
"H = 24 houras\n\n"
"hh, mm, ss = cero inicial\n"
"h, m, s = sin cero inicial",
-1, 13, 141, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
"h = hora m = minuto s = segundo t = am <20> pm\n\n"
"h = 12 houras H = 24 houras\n"
"hh, mm, ss = cero inicial h, m, s = sin cero inicial",
-1, 13, 133, 214, 47, WS_CHILD |WS_VISIBLE | WS_GROUP
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Dia"
FONT 8, "MS Shell Dlg"
@@ -69,7 +67,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Localidad"
FONT 8, "MS Shell Dlg"

View File

@@ -1,7 +1,7 @@
// Hungarian resource file by Peter Lukacs
LANGUAGE LANG_HUNGARIAN, SUBLANG_NEUTRAL
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "<22>ltal<61>nos"
FONT 8, "MS Shell Dlg"
@@ -10,7 +10,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Sz<53>mok"
FONT 8, "MS Shell Dlg"
@@ -19,7 +19,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "P<>nznem"
FONT 8, "MS Shell Dlg"
@@ -28,7 +28,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Id<49>"
FONT 8, "MS Shell Dlg"
@@ -44,18 +44,16 @@ BEGIN
COMBOBOX IDC_TIMEAMSYMBOL, 68, 86, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
LTEXT "&D<>lut<75>n jele:", -1, 13, 106, 54, 10, WS_VISIBLE | WS_GROUP
COMBOBOX IDC_TIMEPMSYMBOL, 68, 104, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
GROUPBOX "", -1, 7, 132, 228, 88, WS_VISIBLE
GROUPBOX "", -1, 7, 124, 228, 60, WS_VISIBLE
LTEXT "Id<49>form<72>tum jel<65>l<EFBFBD>se\n\n"
"o = <20>ra p = perc m = m<>sodperc n = de. vagy du.\n\n"
"o = 12 <20>r<EFBFBD>s\n"
"O = 24 <20>r<EFBFBD>s\n\n"
"oo, pp, mm = nulla haszn<7A>lata\n"
"o, p, m = nincs nulla",
-1, 13, 141, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
"o = 12 <20>r<EFBFBD>s O = 24 <20>r<EFBFBD>s\n"
"oo, pp, mm = nulla haszn<7A>lata o, p, m = nincs nulla",
-1, 13, 133, 214, 47, WS_CHILD |WS_VISIBLE | WS_GROUP
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "D<>tum"
FONT 8, "MS Shell Dlg"
@@ -64,7 +62,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Hely megad<61>sa"
FONT 8, "MS Shell Dlg"

View File

@@ -2,7 +2,7 @@
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL //Vertaald door Lionel Lowie
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Algemeen"
FONT 8, "MS Shell Dlg"
@@ -11,7 +11,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Getal"
FONT 8, "MS Shell Dlg"
@@ -20,7 +20,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Valuta"
FONT 8, "MS Shell Dlg"
@@ -29,7 +29,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Tijd"
FONT 8, "MS Shell Dlg"
@@ -45,16 +45,16 @@ BEGIN
COMBOBOX IDC_TIMEAMSYMBOL, 68, 86, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
LTEXT "&PM-symbool:", -1, 13, 106, 54, 10, WS_VISIBLE | WS_GROUP
COMBOBOX IDC_TIMEPMSYMBOL, 68, 104, 84, 100, CBS_DROPDOWN | WS_CHILD | WS_VISIBLE | WS_TABSTOP
GROUPBOX "", -1, 7, 132, 228, 88, WS_VISIBLE
GROUPBOX "", -1, 7, 132, 228, 60, WS_VISIBLE
LTEXT "Tijdsnotatie\n\n\
h = uur m = minuut s = second t = am or pm\n\n\
h = 12 uur\nH = 24 uur\n\n\
hh, mm, ss = voorgaande nul\n\
h, m, s = zonder voorgaande nul", -1, 13, 141, 214, 74, WS_CHILD |WS_VISIBLE | WS_GROUP
h = uur m = minuut s = second t = am or pm\n\n\
h = 12 uur H = 24 uur\n\
hh, mm, ss = voorgaande nul h, m, s = zonder voorgaande nul",
-1, 13, 133, 214, 47, WS_CHILD |WS_VISIBLE | WS_GROUP
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Datum"
FONT 8, "MS Shell Dlg"
@@ -63,7 +63,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Invoer"
FONT 8, "MS Shell Dlg"

View File

@@ -3,7 +3,7 @@
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 228
IDD_GENERALPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Generellt"
FONT 8, "MS Shell Dlg"
@@ -12,7 +12,7 @@ BEGIN
END
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 228
IDD_NUMBERSPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Tal"
FONT 8, "MS Shell Dlg"
@@ -21,7 +21,7 @@ BEGIN
END
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 228
IDD_CURRENCYPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Valuta"
FONT 8, "MS Shell Dlg"
@@ -30,7 +30,7 @@ BEGIN
END
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 228
IDD_TIMEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Tid"
FONT 8, "MS Shell Dlg"
@@ -39,7 +39,7 @@ BEGIN
END
IDD_DATEPAGE DIALOGEX 0, 0, 246, 228
IDD_DATEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Datum"
FONT 8, "MS Shell Dlg"
@@ -48,7 +48,7 @@ BEGIN
END
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 228
IDD_LOCALEPAGE DIALOGEX 0, 0, 246, 188
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Inmatningsspr<70>k"
FONT 8, "MS Shell Dlg"

View File

@@ -473,6 +473,70 @@ ReleaseListViewItems(HWND hwndDlg,
}
}
VOID
SetAllVars(HWND hwndDlg,
INT iDlgItem)
{
HWND hwndListView;
PVARIABLE_DATA VarData;
LV_ITEM lvi;
INT iItem;
HKEY hk;
DWORD Type = 0;
memset(&lvi, 0x00, sizeof(lvi));
/* Get the handle to the list box with all system vars in it */
hwndListView = GetDlgItem(hwndDlg, iDlgItem);
/* first item is 0 */
iItem = 0;
/* set up struct to retreive item */
lvi.mask = LVIF_PARAM;
lvi.iItem = iItem;
/* Open or create the key */
if (RegCreateKeyEx((iDlgItem == IDC_SYSTEM_VARIABLE_LIST ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER),
(iDlgItem == IDC_SYSTEM_VARIABLE_LIST ? _T("SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment") : _T("Environment")),
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_WRITE | KEY_READ,
NULL,
&hk,
NULL))
{
return;
}
/* loop through all system variables */
while(ListView_GetItem(hwndListView, &lvi))
{
/* Get the data in each item */
VarData = (PVARIABLE_DATA)lvi.lParam;
if (VarData != NULL)
{
/* Get the type */
RegQueryValueEx(hk,VarData->lpName,NULL,&Type,NULL,NULL);
/* Set the new value */
if (RegSetValueEx(hk,
VarData->lpName,
0,
Type,
(LPBYTE) VarData->lpRawValue,
(DWORD) (_tcsclen(VarData->lpRawValue)* sizeof(TCHAR))+1))
{
RegCloseKey(hk);
return;
}
}
/* Fill struct for next item */
lvi.mask = LVIF_PARAM;
lvi.iItem = ++iItem;
}
RegCloseKey(hk);
}
/* Environment dialog procedure */
INT_PTR CALLBACK
@@ -515,7 +579,8 @@ EnvironmentDlgProc(HWND hwndDlg,
return TRUE;
case IDOK:
/* FIXME: Set environment variables in the registry */
SetAllVars(hwndDlg, IDC_USER_VARIABLE_LIST);
SetAllVars(hwndDlg, IDC_SYSTEM_VARIABLE_LIST);
case IDCANCEL:
ReleaseListViewItems(hwndDlg, IDC_USER_VARIABLE_LIST);

View File

@@ -42,12 +42,11 @@
WINE_DEFAULT_DEBUG_CHANNEL(seh);
#ifdef __i386__ /* CxxFrameHandler is not supported on non-i386 */
#define CONTEXT86 CONTEXT //Mingw Hack
static DWORD cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* frame,
PCONTEXT exc_context, EXCEPTION_REGISTRATION_RECORD** dispatch,
cxx_function_descr *descr, EXCEPTION_REGISTRATION_RECORD* nested_frame,
int nested_trylevel, CONTEXT86 *context );
int nested_trylevel );
/* call a function with a given ebp */
__inline static void *call_ebp_func( void *func, void *ebp )
@@ -255,7 +254,7 @@ static DWORD catch_function_nested_handler( EXCEPTION_RECORD *rec, EXCEPTION_REG
TRACE( "got nested exception in catch function\n" );
return cxx_frame_handler( rec, nested_frame->cxx_frame, context,
NULL, nested_frame->descr, &nested_frame->frame,
nested_frame->trylevel, context );
nested_frame->trylevel );
}
}
@@ -332,10 +331,11 @@ __inline static void *call_catch_block( PEXCEPTION_RECORD rec, cxx_exception_fra
static DWORD cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* frame,
PCONTEXT exc_context, EXCEPTION_REGISTRATION_RECORD** dispatch,
cxx_function_descr *descr, EXCEPTION_REGISTRATION_RECORD* nested_frame,
int nested_trylevel, CONTEXT86 *context )
int nested_trylevel )
{
cxx_exception_type *exc_type;
void *next_ip;
PEXCEPTION_RECORD orig_rec = rec;
if (descr->magic != CXX_FRAME_MAGIC)
{
@@ -375,10 +375,10 @@ static DWORD cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* fram
next_ip = call_catch_block( rec, frame, descr, frame->trylevel, exc_type );
if (!next_ip) return ExceptionContinueSearch;
rec->ExceptionFlags &= ~EH_NONCONTINUABLE;
context->Eip = (DWORD)next_ip;
context->Ebp = (DWORD)&frame->ebp;
context->Esp = ((DWORD*)frame)[-1];
orig_rec->ExceptionFlags &= ~EH_NONCONTINUABLE;
exc_context->Eip = (DWORD)next_ip;
exc_context->Ebp = (DWORD)&frame->ebp;
exc_context->Esp = ((DWORD*)frame)[-1];
return ExceptionContinueExecution;
}
@@ -386,16 +386,15 @@ static DWORD cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* fram
/*********************************************************************
* __CxxFrameHandler (MSVCRT.@)
*/
void __CxxFrameHandler( PEXCEPTION_RECORD rec, EXCEPTION_REGISTRATION_RECORD* frame,
PCONTEXT exc_context, EXCEPTION_REGISTRATION_RECORD** dispatch,
CONTEXT86 *context )
DWORD __CxxFrameHandler( PEXCEPTION_RECORD rec, EXCEPTION_REGISTRATION_RECORD* frame,
PCONTEXT exc_context, EXCEPTION_REGISTRATION_RECORD** dispatch )
{
cxx_function_descr *descr = (cxx_function_descr *)context->Eax;
context->Eax = cxx_frame_handler( rec, (cxx_exception_frame *)frame,
exc_context, dispatch, descr, NULL, 0, context );
cxx_function_descr *descr;
__asm__ __volatile__("mov %%eax, %0\n" : "=m"(descr));
return cxx_frame_handler(rec, (cxx_exception_frame *)frame,
exc_context, dispatch, descr, NULL, 0 );
}
//DEFINE_REGS_ENTRYPOINT( __CxxFrameHandler, MSVCRT__CxxFrameHandler, 16, 0 );
// ROS
#endif /* __i386__ */
/*********************************************************************

View File

@@ -1,5 +1,5 @@
<module name="devenum" type="win32dll" baseaddress="${BASEADDRESS_DEVENUM}" installbase="system32" installname="devenum.dll" allowwarnings="true">
<autoregister infsection="OleControlDlls" type="DllRegisterServer" />
<!-- Won't load correctly in ReactOS yet autoregister infsection="OleControlDlls" type="DllRegisterServer" -->
<importlibrary definition="devenum.spec.def" />
<include base="devenum">.</include>
<include base="ReactOS">include/wine</include>

View File

@@ -34,8 +34,10 @@
char *xstrsave(const char *str) {
char *p;
p= RtlAllocateHeap( RtlGetProcessHeap(), 0, strlen(str)+1 );
strcpy(p,str);
p = RtlAllocateHeap( RtlGetProcessHeap(), 0, strlen(str)+1 );
if ( NULL != p ) {
strcpy(p,str);
}
return p;
}
@@ -50,6 +52,8 @@ DNS_STATUS WINAPI DnsQuery_A
int quflags = 0;
int adns_error;
adns_answer *answer;
LPSTR CurrentName;
unsigned CNameLoop;
*QueryResultSet = 0;
@@ -64,31 +68,78 @@ DNS_STATUS WINAPI DnsQuery_A
return DnsIntTranslateAdnsToDNS_STATUS( adns_error );
}
adns_error = adns_synchronous( astate,
Name,
adns_r_addr,
quflags,
&answer );
/*
* adns doesn't resolve chained CNAME records (a CNAME which points to
* another CNAME pointing to another... pointing to an A record), according
* to a mailing list thread the authors believe that chained CNAME records
* are invalid and the DNS entries should be fixed. That's a nice academic
* standpoint, but there certainly are chained CNAME records out there,
* even some fairly major ones (at the time of this writing
* download.mozilla.org is a chained CNAME). Everyone else seems to resolve
* these fine, so we should too. So we loop here to try to resolve CNAME
* chains ourselves. Of course, there must be a limit to protect against
* CNAME loops.
*/
if( adns_error != adns_s_ok ) {
adns_finish( astate );
return DnsIntTranslateAdnsToDNS_STATUS( adns_error );
#define CNAME_LOOP_MAX 16
CurrentName = (LPSTR) Name;
for ( CNameLoop = 0; CNameLoop < CNAME_LOOP_MAX; CNameLoop++ ) {
adns_error = adns_synchronous( astate,
CurrentName,
adns_r_addr,
quflags,
&answer );
if( adns_error != adns_s_ok ) {
adns_finish( astate );
if ( CurrentName != Name ) {
RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
}
return DnsIntTranslateAdnsToDNS_STATUS( adns_error );
}
if( answer && answer->rrs.addr ) {
if ( CurrentName != Name ) {
RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
}
*QueryResultSet =
(PDNS_RECORD)RtlAllocateHeap( RtlGetProcessHeap(), 0,
sizeof( DNS_RECORD ) );
if ( NULL == *QueryResultSet ) {
adns_finish( astate );
return ERROR_OUTOFMEMORY;
}
(*QueryResultSet)->pNext = NULL;
(*QueryResultSet)->wType = Type;
(*QueryResultSet)->wDataLength = sizeof(DNS_A_DATA);
(*QueryResultSet)->Data.A.IpAddress =
answer->rrs.addr->addr.inet.sin_addr.s_addr;
adns_finish( astate );
(*QueryResultSet)->pName = xstrsave( Name );
return NULL != (*QueryResultSet)->pName ? ERROR_SUCCESS :
ERROR_OUTOFMEMORY;
}
if ( NULL == answer || adns_s_prohibitedcname != answer->status ||
NULL == answer->cname ) {
adns_finish( astate );
if ( CurrentName != Name ) {
RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
}
return ERROR_FILE_NOT_FOUND;
}
if ( CurrentName != Name ) {
RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
}
CurrentName = xstrsave( answer->cname );
if ( NULL == CurrentName ) {
adns_finish( astate );
return ERROR_OUTOFMEMORY;
}
}
if( answer && answer->rrs.addr ) {
*QueryResultSet =
(PDNS_RECORD)RtlAllocateHeap( RtlGetProcessHeap(), 0,
sizeof( DNS_RECORD ) );
(*QueryResultSet)->pNext = NULL;
(*QueryResultSet)->wType = Type;
(*QueryResultSet)->pName = xstrsave( Name );
(*QueryResultSet)->wDataLength = sizeof(DNS_A_DATA);
(*QueryResultSet)->Data.A.IpAddress =
answer->rrs.addr->addr.inet.sin_addr.s_addr;
adns_finish( astate );
return ERROR_SUCCESS;
} else
return ERROR_FILE_NOT_FOUND;
adns_finish( astate );
RtlFreeHeap( CurrentName, 0, GetProcessHeap() );
return ERROR_FILE_NOT_FOUND;
default:
return ERROR_OUTOFMEMORY; /* XXX arty: find a better error code. */
}

View File

@@ -348,6 +348,10 @@ DllMain(HANDLE hDll,
SystemDirectory.Buffer = RtlAllocateHeap(hProcessHeap,
0,
SystemDirectory.MaximumLength);
if(SystemDirectory.Buffer == NULL)
{
return FALSE;
}
wcscpy(SystemDirectory.Buffer, WindowsDirectory.Buffer);
wcscat(SystemDirectory.Buffer, L"\\System32");

View File

@@ -177,6 +177,10 @@ DWORD WINAPI FormatMessageA(
if (dwFlags & FORMAT_MESSAGE_FROM_STRING)
{
from = HeapAlloc( GetProcessHeap(), 0, strlen((LPCSTR)lpSource)+1 );
if (from == NULL)
{
return 0;
}
strcpy( from, (LPCSTR)lpSource );
}
else {

View File

@@ -932,6 +932,7 @@ static int compare_unicode_string(
return c1 - c2;
}
}
return (int) len1 - (int) len2;
}
return 0;
}

View File

@@ -151,7 +151,7 @@ static LPWSTR deformat_environment(MSIPACKAGE* package, LPCWSTR key,
{
sz++;
value = msi_alloc(sz * sizeof(WCHAR));
GetEnvironmentVariableW(&key[1],value,sz);
GetEnvironmentVariableW(key,value,sz);
*chunk = (strlenW(value)) * sizeof(WCHAR);
}
else

View File

@@ -346,6 +346,11 @@ NetClassInstaller(
goto cleanup;
}
/* HACK: hpoussin, Dec 2005. TCP/IP driver is not able to manage devices
* which are installed after its startup. So, we have to reboot to take
* this new netcard into account.
*/
MessageBox(NULL, TEXT("You need to reboot to finish the installation of your network card."), TEXT("Reboot required"), MB_OK | MB_ICONWARNING);
rc = ERROR_SUCCESS;
cleanup:

View File

@@ -1111,6 +1111,10 @@ DevInstallW(
if ((!FindDriver(&DevInstData)) && (Show != SW_HIDE))
{
#if 1 /* Yes, I know I'm creating dead code here, problem is that you'll get
warnings about unused variables/code if you just #ifdef the code */
if (0) {
#endif
/* Create the Welcome page */
ZeroMemory (&psp, sizeof(PROPSHEETPAGE));
psp.dwSize = sizeof(PROPSHEETPAGE);
@@ -1163,6 +1167,14 @@ DevInstallW(
PropertySheet(&psh);
DeleteObject(DevInstData.hTitleFont);
#if 1
}
else
{
DPRINT1("No driver found for %S (%S), skipping installation screens\n",
DevInstData.buffer, InstanceId);
}
#endif
}
else

View File

@@ -50,7 +50,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
LONG SHDOCVW_refCount = 0;
static const WCHAR szMozDlPath[] = {
'S','o','f','t','w','a','r','e','\\','W','i','n','e','\\',
'S','o','f','t','w','a','r','e','\\','R','e','a','c','t','O','S','\\',
's','h','d','o','c','v','w',0
};
@@ -321,7 +321,7 @@ static DWORD WINAPI ThreadFunc( LPVOID info )
/* find the name of the thing to download */
szUrl[0] = 0;
/* @@ Wine registry key: HKCU\Software\Wine\shdocvw */
r = RegOpenKeyW( HKEY_CURRENT_USER, szMozDlPath, &hkey );
r = RegOpenKeyW( HKEY_LOCAL_MACHINE, szMozDlPath, &hkey );
if( r == ERROR_SUCCESS )
{
sz = MAX_PATH;
@@ -404,7 +404,7 @@ static BOOL SHDOCVW_TryDownloadMozillaControl(void)
{
DWORD r;
WCHAR buf[0x100];
static const WCHAR szWine[] = { 'W','i','n','e',0 };
static const WCHAR szTitle[] = { 'R','e','a','c','t','O','S',0 };
HANDLE hsem;
SetLastError( ERROR_SUCCESS );
@@ -412,7 +412,7 @@ static BOOL SHDOCVW_TryDownloadMozillaControl(void)
if( GetLastError() != ERROR_ALREADY_EXISTS )
{
LoadStringW( shdocvw_hinstance, 1001, buf, sizeof buf/sizeof(WCHAR) );
r = MessageBoxW(NULL, buf, szWine, MB_YESNO | MB_ICONQUESTION);
r = MessageBoxW(NULL, buf, szTitle, MB_YESNO | MB_ICONQUESTION);
if( r != IDYES )
return FALSE;
@@ -445,7 +445,7 @@ static BOOL SHDOCVW_TryLoadMozillaControl(void)
if( bTried )
{
MESSAGE("You need to install the Mozilla ActiveX control to\n");
MESSAGE("use Wine's builtin CLSID_WebBrowser from SHDOCVW.DLL\n");
MESSAGE("use ReactOS's builtin CLSID_WebBrowser from SHDOCVW.DLL\n");
return FALSE;
}
SHDOCVW_TryDownloadMozillaControl();

View File

@@ -352,6 +352,7 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd)
unsigned sp = 0;
LPWSTR extraPmts = NULL;
int quoted = 0;
BOOL spSet = FALSE;
buffer = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(wszCmd) + 1) * sizeof(*wszCmd));
if (!buffer) return;
@@ -366,8 +367,10 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd)
if (beg) {
if (*beg == '@') {
sp = atoiW(beg + 1);
spSet = TRUE;
} else if (*beg == '\0') {
sp = 0;
spSet = TRUE;
} else {
extraPmts = beg;
}
@@ -381,6 +384,9 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd)
while ((ptr = StrChrW(buffer, '"')))
memmove(ptr, ptr+1, lstrlenW(ptr)*sizeof(WCHAR));
while ((ptr = StrChrW(extraPmts, '"')))
memmove(ptr, ptr+1, lstrlenW(ptr)*sizeof(WCHAR));
TRACE("cmd %s, extra %s, sp %d\n", debugstr_w(buffer), debugstr_w(extraPmts), sp);
Control_LoadApplet(hWnd, buffer, panel);
@@ -393,6 +399,13 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd)
WARN("Out of bounds (%u >= %u), setting to 0\n", sp, applet->count);
sp = 0;
}
if ((extraPmts)&&(!spSet))
{
while ((lstrcmpiW(extraPmts, applet->info[sp].szName)) && (sp < applet->count))
sp++;
}
if (applet->info[sp].dwSize) {
if (!applet->proc(applet->hWnd, CPL_STARTWPARMSA, sp, (LPARAM)extraPmts))
applet->proc(applet->hWnd, CPL_DBLCLK, sp, applet->info[sp].lData);

View File

@@ -2549,7 +2549,7 @@ ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici )
memset( &sei, 0, sizeof sei );
sei.cbSize = sizeof sei;
sei.fMask = SEE_MASK_UNICODE | SEE_MASK_NOCLOSEPROCESS;
sei.fMask = SEE_MASK_UNICODE;
sei.lpFile = path;
sei.nShow = This->iShowCmd;
sei.lpIDList = This->pPidl;
@@ -2557,15 +2557,8 @@ ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici )
sei.lpParameters = args;
sei.lpVerb = szOpen;
if( ShellExecuteExW( &sei ) )
{
if ( sei.hProcess )
{
WaitForSingleObject( sei.hProcess, 10000 );
CloseHandle( sei.hProcess );
}
if ( ShellExecuteExW( &sei ) && sei.hInstApp > 32 )
r = S_OK;
}
else
r = E_FAIL;

View File

@@ -428,6 +428,9 @@ static HRESULT WINAPI ISF_Desktop_fnGetAttributesOf (IShellFolder2 * iface,
static const DWORD dwDesktopAttributes =
SFGAO_STORAGE | SFGAO_HASPROPSHEET | SFGAO_STORAGEANCESTOR |
SFGAO_FILESYSANCESTOR | SFGAO_FOLDER | SFGAO_FILESYSTEM | SFGAO_HASSUBFOLDER;
static const DWORD dwMyComputerAttributes =
SFGAO_CANRENAME | SFGAO_CANDELETE | SFGAO_HASPROPSHEET |
SFGAO_DROPTARGET | SFGAO_FILESYSANCESTOR | SFGAO_FOLDER | SFGAO_HASSUBFOLDER;
TRACE ("(%p)->(cidl=%d apidl=%p mask=%p (0x%08lx))\n",
This, cidl, apidl, rgfInOut, rgfInOut ? *rgfInOut : 0);
@@ -447,6 +450,8 @@ static HRESULT WINAPI ISF_Desktop_fnGetAttributesOf (IShellFolder2 * iface,
pdump (*apidl);
if (_ILIsDesktop(*apidl)) {
*rgfInOut &= dwDesktopAttributes;
} else if (_ILIsMyComputer(*apidl)) {
*rgfInOut &= dwMyComputerAttributes;
} else {
SHELL32_GetItemAttributes (_IShellFolder_ (This), *apidl, rgfInOut);
}

View File

@@ -61,7 +61,7 @@ EnumDisplayDevicesA(
return FALSE;
}
DisplayDeviceW.cb = lpDisplayDevice->cb;
DisplayDeviceW.cb = sizeof(DISPLAY_DEVICEW);
rc = NtUserEnumDisplayDevices (
&Device,
iDevNum,

View File

@@ -1369,6 +1369,10 @@ static BOOL HTTP_HandleRedirect(LPWININETHTTPREQW lpwhr, LPCWSTR lpszUrl, LPCWST
if (urlComponents.nPort == INTERNET_INVALID_PORT_NUMBER)
urlComponents.nPort = INTERNET_DEFAULT_HTTP_PORT;
if (sizeof(path) / sizeof(path[0]) <= strlenW(path) + strlenW(extra))
return FALSE;
strcatW(path, extra);
#if 0
/*
* This upsets redirects to binary files on sourceforge.net
@@ -2024,7 +2028,11 @@ BOOL HTTP_GetResponseHeaders(LPWININETHTTPREQW lpwhr)
/*
* HACK peek at the buffer
*/
#if 0
/* This is Wine code, we don't support MSG_PEEK yet so we have to do it
a bit different */
NETCON_recv(&lpwhr->netConnection, buffer, buflen, MSG_PEEK, &rc);
#endif
/*
* We should first receive 'HTTP/1.x nnn OK' where nnn is the status code.
@@ -2033,6 +2041,9 @@ BOOL HTTP_GetResponseHeaders(LPWININETHTTPREQW lpwhr)
memset(buffer, 0, MAX_REPLY_LEN);
if (!NETCON_getNextLine(&lpwhr->netConnection, bufferA, &buflen))
goto lend;
#if 1
rc = buflen;
#endif
MultiByteToWideChar( CP_ACP, 0, bufferA, buflen, buffer, MAX_REPLY_LEN );
/* regenerate raw headers */
@@ -2073,6 +2084,9 @@ BOOL HTTP_GetResponseHeaders(LPWININETHTTPREQW lpwhr)
{
LPWSTR * pFieldAndValue;
#if 1
rc += buflen;
#endif
TRACE("got line %s, now interpreting\n", debugstr_a(bufferA));
MultiByteToWideChar( CP_ACP, 0, bufferA, buflen, buffer, MAX_REPLY_LEN );

View File

@@ -42,7 +42,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(wininet);
#define TIME_STRING_LEN 30
#define CP_UNIXCP 65010 /* Wine extension */
time_t ConvertTimeString(LPCWSTR asctime)
@@ -151,9 +150,9 @@ BOOL GetAddress(LPCWSTR lpszServerName, INTERNET_PORT nServerPort,
else
len = strlenW(lpszServerName);
sz = WideCharToMultiByte( CP_UNIXCP, 0, lpszServerName, len, NULL, 0, NULL, NULL );
sz = WideCharToMultiByte( CP_THREAD_ACP, 0, lpszServerName, len, NULL, 0, NULL, NULL );
name = HeapAlloc(GetProcessHeap(), 0, sz+1);
WideCharToMultiByte( CP_UNIXCP, 0, lpszServerName, len, name, sz, NULL, NULL );
WideCharToMultiByte( CP_THREAD_ACP, 0, lpszServerName, len, name, sz, NULL, NULL );
name[sz] = 0;
*phe = gethostbyname(name);
HeapFree( GetProcessHeap(), 0, name );

View File

@@ -353,6 +353,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
if (first == NULL)
{
error_out_of_memory();
nErrorLevel = 1;
return ;
}
@@ -361,6 +362,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
{
free (first);
error_out_of_memory();
nErrorLevel = 1;
return ;
}
@@ -370,6 +372,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
free (first);
free (rest);
error_out_of_memory();
nErrorLevel = 1;
return ;
}
@@ -380,6 +383,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
free (rest);
free (full);
error_out_of_memory();
nErrorLevel = 1;
return ;
}
@@ -450,7 +454,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
free (rest);
free (full);
free (szFullName);
nErrorLevel = 1;
return;
}
@@ -463,6 +467,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
free (rest);
free (full);
free (szFullName);
nErrorLevel = 1;
return;
}
@@ -525,6 +530,10 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
GetExitCodeProcess (prci.hProcess, &dwExitCode);
nErrorLevel = (INT)dwExitCode;
}
else
{
nErrorLevel = 0;
}
CloseHandle (prci.hThread);
CloseHandle (prci.hProcess);
}
@@ -540,7 +549,12 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
DebugPrintf (_T("[ShellExecute failed!: %s]\n"), full);
#endif
error_bad_command ();
nErrorLevel = 1;
}
else
{
nErrorLevel = 0;
}
}
// restore console mode
SetConsoleMode (
@@ -1331,7 +1345,7 @@ ProcessInput (BOOL bFlag)
if (!(ip = ReadBatchLine (&bEchoThisLine)))
{
if (bFlag)
return 0;
return nErrorLevel;
ReadCommand (readline, CMDLINE_LENGTH);
ip = readline;
@@ -1457,7 +1471,7 @@ ProcessInput (BOOL bFlag)
}
while (!bCanExit || !bExit);
return 0;
return nErrorLevel;
}

View File

@@ -0,0 +1,399 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <windows.h>
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// Polish (PL) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_POLISH, SUBLANG_NEUTRAL
#pragma code_page(1250)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MDIFRAME MENU DISCARDABLE
BEGIN
POPUP "&Plik"
BEGIN
MENUITEM "Urucho&m...", ID_EXECUTE
MENUITEM SEPARATOR
MENUITEM "Za&ko<6B>cz", ID_FILE_EXIT
END
POPUP "&Widok"
BEGIN
MENUITEM "Przyciski &standardowe", ID_VIEW_TOOL_BAR
MENUITEM "P&rzyciski dodatkowe", ID_VIEW_EXTRA_BAR
MENUITEM "Pasek &dysk<73>w", ID_VIEW_DRIVE_BAR, CHECKED
MENUITEM "Pasek &boczny", ID_VIEW_SIDE_BAR
MENUITEM "Pasek sta&nu", ID_VIEW_STATUSBAR
MENUITEM SEPARATOR
MENUITEM "&Od<4F>wie<69>\tF5", ID_REFRESH
MENUITEM "P&e<>ny ekran\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
MENUITEM "SDI", ID_VIEW_SDI
END
POPUP "&Okna"
BEGIN
MENUITEM "Nowe &okno", ID_WINDOW_NEW
MENUITEM "&Kaskada\tShift+F5", ID_WINDOW_CASCADE
MENUITEM "&S<>siaduj<75>co poziomo", ID_WINDOW_TILE_HORZ
MENUITEM "S<>siaduj<75>co &pionowo\tShift+F4", ID_WINDOW_TILE_VERT
MENUITEM "&Autorozmieszczenie", ID_WINDOW_AUTOSORT
MENUITEM "Rozmie<69><65> wed<65>ug &nazwy", ID_WINDOW_ARRANGE
END
POPUP "&Narz<72>dzia"
BEGIN
MENUITEM "&Opcje", ID_TOOLS_OPTIONS
END
POPUP "Pomo&c"
BEGIN
MENUITEM "Explorer &FAQ", ID_EXPLORER_FAQ
MENUITEM "ReactOS Explorer - &Informacje", ID_ABOUT_EXPLORER
MENUITEM "ReactOS - I&nformacje", ID_ABOUT_WINDOWS
END
END
IDM_DESKTOPBAR MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&W<>a<EFBFBD>ciwo<77>ci", ID_DESKTOPBAR_SETTINGS
MENUITEM "Mened<65>er &zada<64>", ID_TASKMGR
MENUITEM SEPARATOR
MENUITEM "ReactOS Explorer - &Informacje", ID_ABOUT_EXPLORER
END
END
IDM_VOLUME MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Otw<74>rz regulacje g<>o<EFBFBD>no<6E>ci", ID_TRAY_VOLUME
MENUITEM "&Ustaw w<>a<EFBFBD>ciwo<77>ci audio", ID_VOLUME_PROPERTIES
END
END
IDM_NOTIFYAREA MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Poka<6B> ukryte ikony", ID_SHOW_HIDDEN_ICONS
MENUITEM "&Ukrywaj nieu<65>ywane ikony", ID_SHOW_ICON_BUTTON
MENUITEM "&Konfiguruj powiadomienia", ID_CONFIG_NOTIFYAREA
MENUITEM "Ustaw &dat<61>/godzin<69>", ID_CONFIG_TIME
MENUITEM SEPARATOR
MENUITEM "ReactOS Explorer - &Informacje", ID_ABOUT_EXPLORER
END
END
IDM_SDIFRAME MENU DISCARDABLE
BEGIN
POPUP "&Plik"
BEGIN
MENUITEM "Urucho&m...", ID_EXECUTE
MENUITEM SEPARATOR
MENUITEM "Za&ko<6B>cz", ID_FILE_EXIT
END
POPUP "&Widok"
BEGIN
MENUITEM "Przyciski &standardowe", ID_VIEW_TOOL_BAR
MENUITEM "Pasek &boczny", ID_VIEW_SIDE_BAR, GRAYED
MENUITEM "Pasek sta&nu", ID_VIEW_STATUSBAR
MENUITEM SEPARATOR
MENUITEM "&Od<4F>wie<69>\tF5", ID_REFRESH
MENUITEM "P&e<>ny ekran\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
MENUITEM "&MDI", ID_VIEW_MDI
END
POPUP "&Narz<72>dzia"
BEGIN
MENUITEM "&Opcje", ID_TOOLS_OPTIONS
END
POPUP "Pomo&c"
BEGIN
MENUITEM "Explorer &FAQ", ID_EXPLORER_FAQ
MENUITEM "ReactOS Explorer - &Informacje", ID_ABOUT_EXPLORER
MENUITEM "ReactOS - I&nformacje", ID_ABOUT_WINDOWS
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_EXECUTE DIALOG DISCARDABLE 15, 13, 210, 63
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Uruchom"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "",101,"Static",SS_SIMPLE | SS_NOPREFIX,3,6,150,10
CONTROL "&Polecenie:",-1,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,3,
18,60,10
EDITTEXT 201,3,29,134,12,ES_AUTOHSCROLL
CONTROL "Jako &symbol",214,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3,
45,71,12
DEFPUSHBUTTON "&OK",1,158,6,47,14
PUSHBUTTON "&Anuluj",2,158,23,47,14
PUSHBUTTON "Pomo&c",254,158,43,47,14
END
IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65
STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW
CAPTION "Szukaj programu w menu start"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
LTEXT "&Filtry:",IDC_STATIC,7,9,18,8
EDITTEXT IDC_FILTER,34,7,100,14,ES_AUTOHSCROLL
CONTROL "List1",IDC_PROGRAMS_FOUND,"SysListView32",LVS_REPORT |
LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER |
WS_TABSTOP,7,25,186,33
PUSHBUTTON "&Szukaj nazwy",IDC_CHECK_ENTRIES,143,7,50,14
END
IDD_DESKBAR_DESKTOP DIALOG DISCARDABLE 0, 0, 212, 194
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "W<>a<EFBFBD>ciwo<77>ci pulpitu"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "Wybierz spos<6F>b uk<75>adania ikon:",
IDC_STATIC,7,7,166,8
CONTROL "left/top dwn",IDC_ICON_ALIGN_0,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,7,25,46,44
CONTROL "left/top right",IDC_ICON_ALIGN_1,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,57,25,46,44
CONTROL "right/top left",IDC_ICON_ALIGN_2,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,110,25,46,44
CONTROL "rig./top dwn",IDC_ICON_ALIGN_3,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,159,25,46,44
CONTROL "left/bot. up",IDC_ICON_ALIGN_4,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,7,73,46,44
CONTROL "left/bot. right",IDC_ICON_ALIGN_5,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,57,73,46,44
CONTROL "right/bot. left",IDC_ICON_ALIGN_6,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,110,73,46,44
CONTROL "rig./bot. dwn",IDC_ICON_ALIGN_7,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,159,73,46,44
CONTROL "border down",IDC_ICON_ALIGN_8,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,7,121,46,44
CONTROL "border H/V",IDC_ICON_ALIGN_9,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,57,121,46,44
CONTROL "round about",IDC_ICON_ALIGN_10,"Button",BS_OWNERDRAW |
BS_BOTTOM | WS_TABSTOP,110,121,46,44
CONTROL "",IDC_ICON_ALIGN_11,"Button",BS_OWNERDRAW | BS_BOTTOM |
WS_TABSTOP,159,121,46,44
CONTROL "Wy<57>wietlaj &numer wersji",ID_DESKTOP_VERSION,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,177,91,10
END
IDD_DESKBAR_TASKBAR DIALOG DISCARDABLE 0, 0, 210, 194
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "W<>a<EFBFBD>ciwo<77>ci paska zada<64>"
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "Poka<6B> &zegar",ID_SHOW_CLOCK,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,152,52,10
CONTROL "&Ukrywaj nieaktywne ikony",
ID_HIDE_INACTIVE_ICONS,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,174,111,10
PUSHBUTTON "&Dostosuj",ID_CONFIG_NOTIFYAREA,153,173,50,14
END
IDD_DESKBAR_STARTMENU DIALOG DISCARDABLE 0, 0, 210, 194
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "W<>a<EFBFBD>ciwo<77>ci Menu Start"
FONT 8, "MS Sans Serif"
BEGIN
END
IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174
STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW
CAPTION "Konfiguracja ikon powiadomie<69>"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
CONTROL "Tree1",IDC_NOTIFY_ICONS,"SysTreeView32",TVS_HASLINES |
TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,7,7,194,31
LTEXT "&Podpowied<65>:",IDC_LABEL1,7,44,40,8
EDITTEXT IDC_NOTIFY_TOOLTIP,58,42,143,14,ES_AUTOHSCROLL
LTEXT "&Tytu<74> okna:",IDC_LABEL2,7,63,44,8
EDITTEXT IDC_NOTIFY_TITLE,58,60,143,14,ES_AUTOHSCROLL
LTEXT "<22>cie<69>ka:",IDC_LABEL3,7,81,43,8
EDITTEXT IDC_NOTIFY_MODULE,58,78,143,14,ES_AUTOHSCROLL
GROUPBOX "&Spos<6F>b wy<77>wietlania",IDC_LABEL4,7,96,157,28
CONTROL "&widoczny",IDC_NOTIFY_SHOW,"Button",BS_AUTORADIOBUTTON |
WS_TABSTOP,15,108,33,10
CONTROL "&ukryty",IDC_NOTIFY_HIDE,"Button",BS_AUTORADIOBUTTON,66,
108,29,10
CONTROL "&autoukrywanie",IDC_NOTIFY_AUTOHIDE,"Button",
BS_AUTORADIOBUTTON,112,108,43,10
ICON "",IDC_PICTURE,173,101,21,20
LTEXT "&Zmodyfikowany:",IDC_LABEL6,7,132,43,8
EDITTEXT IDC_LAST_CHANGE,59,129,105,14,ES_AUTOHSCROLL |
ES_READONLY
CONTROL "Po&ka<6B> wszystkie",ID_SHOW_HIDDEN_ICONS,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,154,56,10
DEFPUSHBUTTON "&OK",IDOK,91,153,50,14,WS_GROUP
PUSHBUTTON "&Anuluj",IDCANCEL,151,153,50,14
END
IDD_MDI_SDI DIALOGEX 0, 0, 194, 157
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Tryb wy<77>wietlania okien"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
LTEXT "Wybierz tryb wy<77>wietlania okien:",
IDC_STATIC,7,7,160,8
CONTROL "&MDI (Otwieraj w jednym oknie)",IDC_MDI,"Button",
BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,31,124,10
CONTROL "&SDI (Otwieraj we w<>asnym oknie)",IDC_SDI,"Button",
BS_AUTORADIOBUTTON,7,62,118,10
CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13
CONTROL 171,IDC_STATIC,"Static",SS_BITMAP,145,57,15,13
CONTROL "&Otwieraj podkatalogi w nowych oknach",
IDC_SEPARATE_SUBFOLDERS,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,90,135,10
LTEXT "Te opcje b<>d<EFBFBD> stosowane w przysz<73>o<EFBFBD>ci do wszystkich okien.",
IDC_STATIC,7,111,174,22
DEFPUSHBUTTON "&OK",IDOK,29,136,50,14,WS_GROUP
PUSHBUTTON "&Anuluj",IDCANCEL,106,136,50,14
END
IDD_ABOUT_EXPLORER DIALOG DISCARDABLE 0, 0, 199, 106
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Explorer - &Informacje"
FONT 10, "MS Sans Serif"
BEGIN
LTEXT "ReactOS Explorer",IDC_ROS_EXPLORER,91,13,104,11
LTEXT "V 0.9",IDC_VERSION_TXT,91,27,104,8
LTEXT "(c) 2003-2005 Martin Fuchs",IDC_STATIC,91,42,104,8
LTEXT "",IDC_WIN_VERSION,91,58,98,22
LTEXT "http://www.sky.franken.de/explorer/",IDC_WWW,17,84,129,
8
CONTROL "&OK",IDOK,"Button",BS_OWNERDRAW | BS_FLAT | WS_GROUP,
154,90,38,12
END
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE MOVEABLE PURE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE MOVEABLE PURE
BEGIN
"#include <windows.h>\r\n"
"\0"
END
3 TEXTINCLUDE MOVEABLE PURE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
IDS_TITLE "Reactos Explorer"
IDS_START "Start"
IDS_LOGOFF "Wyloguj..."
IDS_SHUTDOWN "Zamknij system..."
IDS_LAUNCH "Uruchom..."
IDS_START_HELP "Pomoc"
IDS_SEARCH_FILES "Szukaj..."
IDS_DOCUMENTS "Dokumenty"
IDS_FAVORITES "Ulubione"
IDS_PROGRAMS "Programy"
IDS_SETTINGS "Ustawienia"
IDS_EXPLORE "Eksploruj"
IDS_EMPTY "(pusty)"
IDS_RECENT "Ostatnio otwarte"
IDS_ADMIN "Administracja"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_STARTMENU "Menu start"
IDS_MINIMIZE_ALL "Minimalizuj wszystko"
IDS_DESKTOP_NUM "Pulpit %d"
IDS_VOLUME "G<>o<EFBFBD>no<6E><6F>"
IDS_ITEMS_CUR "Aktualne pozycje"
IDS_ITEMS_CONFIGURED "ustawienia"
IDS_ITEMS_VISIBLE "widoczne"
IDS_ITEMS_HIDDEN "ukryte"
IDS_NOTIFY_SHOW "poka<6B>"
IDS_NOTIFY_HIDE "ukryj"
IDS_NOTIFY_AUTOHIDE "autoukrywanie"
IDS_SHOW_HIDDEN_ICONS "Poka<6B> ukryte ikony"
IDS_HIDE_ICONS "Ukryj ikony"
IDS_TERMINATE "Zako<6B>cz dzia<69>anie ROS Explorer"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_NETWORK "Sie<69>"
IDS_CONNECTIONS "Po<50><6F>czenia sieciowe"
IDS_DRIVES "Dysk"
IDS_SEARCH_COMPUTER "Znajd<6A> komputar..."
IDS_SETTINGS_MENU "Settings menu"
IDS_CONTROL_PANEL "Panel sterowania"
IDS_PRINTERS "Drukarki"
IDS_BROWSE "Przegl<67>daj"
IDS_SEARCH_PRG "Znajd<6A> progarm..."
IDS_ALL_USERS "All Users\\"
IDS_SEARCH "Szukaj"
IDS_ABOUT_EXPLORER "ReactOS Explorer - &Informacje"
IDS_LAUNCH_MANY_PROGRAMS
"Zaznaczy<7A>e<EFBFBD> wi<77>cej ni<6E> jeden program.\nCzy chcesz uruchomi<6D> je jednocze<7A>nie?"
IDS_DESKTOPBAR_SETTINGS "W<>a<EFBFBD>ciwo<77>ci pulpitu"
IDS_DESKTOP "Pulpit"
IDS_TASKBAR "Pasek zada<64>"
END
#endif // Polish (PL) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@@ -110,6 +110,7 @@ BEGIN
"#include ""explorer-de.rc""\r\n"
"#include ""explorer-es.rc""\r\n"
"#include ""explorer-sv.rc""\r\n"
"#include ""explorer-pl.rc""\r\n"
"#include ""explorer-pt.rc""\r\n"
"#include ""explorer-cz.rc""\r\n"
"#include ""explorer-ro.rc""\r\n"
@@ -196,6 +197,7 @@ CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST DISCARDABLE PURE "explorer.exe.ma
#include "explorer-de.rc"
#include "explorer-es.rc"
#include "explorer-sv.rc"
#include "explorer-pl.rc"
#include "explorer-pt.rc"
#include "explorer-cz.rc"
#include "explorer-ro.rc"

View File

@@ -1546,7 +1546,7 @@ void StartMenuButton::DrawItem(LPDRAWITEMSTRUCT dis)
StartMenuRoot::StartMenuRoot(HWND hwnd)
: super(hwnd, true) ///@todo big icons in start menu root
: super(hwnd, false) ///@todo big icons in start menu root
{
#ifndef __MINGW32__ // SHRestricted() missing in MinGW (as of 29.10.2003)
if (!g_Globals._SHRestricted || !SHRestricted(REST_NOCOMMONGROUPS))
@@ -1824,7 +1824,7 @@ void StartMenuRoot::Paint(PaintCanvas& canvas)
PatBlt(canvas, _logo_size.cx, 0, 1, clnt.bottom, WHITENESS);
BitBlt(canvas, 0, clnt.bottom-h, _logo_size.cx, h, mem_dc, 0, 0, SRCCOPY);
BitBlt(canvas, 0, clnt.bottom-h, _logo_size.cx, h, mem_dc, 0, ( h<_logo_size.cy ? _logo_size.cy-h : 0) , SRCCOPY);
super::Paint(canvas);
}

View File

@@ -856,7 +856,7 @@ ScmrCreateServiceW(handle_t BindingHandle,
*lpDisplayName != 0 &&
wcsicmp(lpService->lpDisplayName, lpDisplayName) != 0)
{
lpService->lpDisplayName = HeapAlloc(GetProcessHeap, 0,
lpService->lpDisplayName = HeapAlloc(GetProcessHeap(), 0,
(wcslen(lpDisplayName) + 1) * sizeof(WCHAR));
if (lpService->lpDisplayName == NULL)
{

View File

@@ -118,6 +118,7 @@ PerformancePageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
case WM_DESTROY:
GraphCtrl_Dispose(&PerformancePageCpuUsageHistoryGraph);
GraphCtrl_Dispose(&PerformancePageMemUsageHistoryGraph);
break;
case WM_INITDIALOG:

View File

@@ -509,6 +509,12 @@ HPALETTE STDCALL NtGdiSelectPalette(HDC hDC,
oldPal = dc->w.hPalette;
dc->w.hPalette = hpal;
}
else if (8 < dc->w.bitsPerPixel && PAL_INDEXED == PalGDI->Mode)
{
PALETTE_UnlockPalette(PalGDI);
oldPal = dc->PalIndexed;
dc->PalIndexed = hpal;
}
else
{
PALETTE_UnlockPalette(PalGDI);

View File

@@ -222,6 +222,7 @@ NtGdiCreateCompatibleDC(HDC hDC)
NewDC->w.hFirstBitmap = hBitmap;
NewDC->GDIDevice = OrigDC->GDIDevice;
NewDC->PalIndexed = OrigDC->PalIndexed;
NewDC->w.hPalette = OrigDC->w.hPalette;
NewDC->w.textColor = OrigDC->w.textColor;
NewDC->w.textAlign = OrigDC->w.textAlign;
@@ -905,6 +906,7 @@ IntGdiCreateDC(PUNICODE_STRING Driver,
if (! CreateAsIC)
{
NewDC->PalIndexed = NtGdiGetStockObject(DEFAULT_PALETTE);
NewDC->w.hPalette = NewDC->DevInfo->hpalDefault;
NewDC->w.ROPmode = R2_COPYPEN;
@@ -987,7 +989,9 @@ NtGdiCreateDC(PUNICODE_STRING Driver,
}
}
Ret = IntGdiCreateDC(&SafeDriver, &SafeDevice, NULL, &SafeInitData, FALSE);
Ret = IntGdiCreateDC(NULL == Driver ? NULL : &SafeDriver,
NULL == Device ? NULL : &SafeDevice, NULL,
NULL == InitData ? NULL : &SafeInitData, FALSE);
return Ret;
}
@@ -1313,6 +1317,7 @@ NtGdiGetDCState(HDC hDC)
#if 0
newdc->w.hDevice = dc->w.hDevice;
#endif
newdc->PalIndexed = dc->PalIndexed;
newdc->w.hPalette = dc->w.hPalette;
newdc->w.totalExtent = dc->w.totalExtent;
newdc->w.bitsPerPixel = dc->w.bitsPerPixel;
@@ -1438,6 +1443,7 @@ NtGdiSetDCState ( HDC hDC, HDC hDCSave )
dc->vportOrgY = dcs->vportOrgY;
dc->vportExtX = dcs->vportExtX;
dc->vportExtY = dcs->vportExtY;
dc->PalIndexed = dcs->PalIndexed;
if (!(dc->w.flags & DC_MEMORY))
{

View File

@@ -1108,7 +1108,11 @@ DIB_MapPaletteColors(PDC dc, CONST BITMAPINFO* lpbmi)
if (palGDI->Mode != PAL_INDEXED)
{
PALETTE_UnlockPalette(palGDI);
return NULL;
palGDI = PALETTE_LockPalette(dc->PalIndexed);
if (palGDI->Mode != PAL_INDEXED)
{
return NULL;
}
}
nNumColors = 1 << lpbmi->bmiHeader.biBitCount;

View File

@@ -405,7 +405,11 @@ typedef struct _ScanLineListBlock {
static __inline int xmemcheck(ROSRGNDATA *reg, PRECT *rect, PRECT *firstrect ) {
if ( (reg->rdh.nCount+1)*sizeof( RECT ) >= reg->rdh.nRgnSize ) {
PRECT temp;
temp = ExAllocatePoolWithTag( PagedPool, (2 * (reg->rdh.nRgnSize)), TAG_REGION);
DWORD NewSize = 2 * reg->rdh.nRgnSize;
if (NewSize < (reg->rdh.nCount + 1) * sizeof(RECT)) {
NewSize = (reg->rdh.nCount + 1) * sizeof(RECT);
}
temp = ExAllocatePoolWithTag( PagedPool, NewSize, TAG_REGION);
if (temp == 0)
return 0;
@@ -413,7 +417,7 @@ static __inline int xmemcheck(ROSRGNDATA *reg, PRECT *rect, PRECT *firstrect ) {
/* copy the rectangles */
COPY_RECTS(temp, *firstrect, reg->rdh.nCount);
reg->rdh.nRgnSize *= 2;
reg->rdh.nRgnSize = NewSize;
if (*firstrect != &reg->rdh.rcBound)
ExFreePool( *firstrect );
*firstrect = temp;