ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
April 2010
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
22 participants
435 discussions
Start a n
N
ew thread
[mjmartin] 46736: [DDK] - Add missing include.
by mjmartin@svn.reactos.org
Author: mjmartin Date: Mon Apr 5 14:46:05 2010 New Revision: 46736 URL:
http://svn.reactos.org/svn/reactos?rev=46736&view=rev
Log: [DDK] - Add missing include. Modified: trunk/reactos/include/ddk/hubbusif.h Modified: trunk/reactos/include/ddk/hubbusif.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/hubbusif.h?rev…
============================================================================== --- trunk/reactos/include/ddk/hubbusif.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/hubbusif.h [iso-8859-1] Mon Apr 5 14:46:05 2010 @@ -1,4 +1,6 @@ #pragma once + +#include "usbdi.h" #if (NTDDI_VERSION >= NTDDI_WINXP)
14 years, 8 months
1
0
0
0
[mjmartin] 46735: [usb/usbehci] - Modify UsbDevice structure to hold all the device's configurations vice only the active one. - Change code to handle new UsbDevice structure and data. - Add missing Status assignment for IOCTLs get device handle and get hub count. - When checking port status in deffered routine continue looping through the ports if the device is not high speed. - Implement direct call functions InitializeUsbDevice, QueryDeviceInformation and GetControllerInformation. - Fix incor
by mjmartin@svn.reactos.org
Author: mjmartin Date: Mon Apr 5 14:23:30 2010 New Revision: 46735 URL:
http://svn.reactos.org/svn/reactos?rev=46735&view=rev
Log: [usb/usbehci] - Modify UsbDevice structure to hold all the device's configurations vice only the active one. - Change code to handle new UsbDevice structure and data. - Add missing Status assignment for IOCTLs get device handle and get hub count. - When checking port status in deffered routine continue looping through the ports if the device is not high speed. - Implement direct call functions InitializeUsbDevice, QueryDeviceInformation and GetControllerInformation. - Fix incorrect return type for direct call function GetUSBDIVersion. - Remove no longer needed structures from usbiffn.h as they are now in usbbusif.h and hubbusif.h. - Code based on XEN PV Drivers by James Harper. Modified: trunk/reactos/drivers/usb/usbehci/fdo.c trunk/reactos/drivers/usb/usbehci/irp.c trunk/reactos/drivers/usb/usbehci/pdo.c trunk/reactos/drivers/usb/usbehci/usbehci.h trunk/reactos/drivers/usb/usbehci/usbiffn.c trunk/reactos/drivers/usb/usbehci/usbiffn.h Modified: trunk/reactos/drivers/usb/usbehci/fdo.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/fdo.c?…
============================================================================== --- trunk/reactos/drivers/usb/usbehci/fdo.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/fdo.c [iso-8859-1] Mon Apr 5 14:23:30 2010 @@ -83,11 +83,11 @@ DPRINT1("Releasing ownership to companion host controller!\n"); /* Release ownership to companion host controller */ WRITE_REGISTER_ULONG((PULONG) ((Base + EHCI_PORTSC) + (4 * i)), 0x4000); + continue; } } KeStallExecutionProcessor(30); - DPRINT("port tmp %x\n", tmp); /* As per USB 2.0 Specs, 9.1.2. Reset the port and clear the status change */ tmp |= 0x100 | 0x02; @@ -545,6 +545,7 @@ StartEhci(DeviceObject); FdoDeviceExtension->DeviceState = DEVICESTARTED; + return STATUS_SUCCESS; } @@ -814,7 +815,6 @@ IoDetachDevice(FdoDeviceExtension->LowerDevice); IoDeleteSymbolicLink(&SymLinkName); IoDeleteDevice(Fdo); - return STATUS_UNSUCCESSFUL; } @@ -840,11 +840,14 @@ if (!NT_SUCCESS(Status)) { DPRINT1("Unable to register device interface!\n"); + ASSERT(FALSE); } else { Status = IoSetDeviceInterfaceState(&InterfaceSymLinkName, TRUE); DPRINT1("SetInterfaceState %x\n", Status); + if (!NT_SUCCESS(Status)) + ASSERT(FALSE); } Fdo->Flags &= ~DO_DEVICE_INITIALIZING; Modified: trunk/reactos/drivers/usb/usbehci/irp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/irp.c?…
============================================================================== --- trunk/reactos/drivers/usb/usbehci/irp.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/irp.c [iso-8859-1] Mon Apr 5 14:23:30 2010 @@ -101,7 +101,7 @@ DPRINT1("--->TransferBufferLength %x\n",Urb->UrbBulkOrInterruptTransfer.TransferBufferLength); DPRINT1("--->TransferBuffer %x\n",Urb->UrbBulkOrInterruptTransfer.TransferBuffer); DPRINT1("--->PipeHandle %x\n",Urb->UrbBulkOrInterruptTransfer.PipeHandle); - DPRINT1("---->(PVOID)&UsbDevice->EndPointDescriptor %x\n", (PVOID)&UsbDevice->EndPointDescriptor); + DPRINT1("---->(PVOID)&UsbDevice->EndPointDescriptor %x\n", (PVOID)&UsbDevice->ActiveInterface->EndPoints[0]->EndPointDescriptor); DPRINT1("--->TransferFlags %x\n", Urb->UrbBulkOrInterruptTransfer.TransferFlags); RtlZeroMemory(Urb->UrbBulkOrInterruptTransfer.TransferBuffer, Urb->UrbBulkOrInterruptTransfer.TransferBufferLength); @@ -142,6 +142,7 @@ DPRINT1("Uknown identifier\n"); Urb->UrbHeader.Status = USBD_STATUS_INVALID_URB_FUNCTION; Status = STATUS_UNSUCCESSFUL; + ASSERT(FALSE); } break; } @@ -164,19 +165,39 @@ } case USB_CONFIGURATION_DESCRIPTOR_TYPE: { + PUCHAR BufPtr; + LONG i, j; + DPRINT1("USB CONFIG DESC\n"); - ULONG FullDescriptorLength = sizeof(USB_CONFIGURATION_DESCRIPTOR) + - sizeof(USB_INTERFACE_DESCRIPTOR) + - sizeof(USB_ENDPOINT_DESCRIPTOR); - - if (Urb->UrbControlDescriptorRequest.TransferBufferLength >= FullDescriptorLength) - { - Urb->UrbControlDescriptorRequest.TransferBufferLength = FullDescriptorLength; - } - - RtlCopyMemory(Urb->UrbControlDescriptorRequest.TransferBuffer, - &UsbDevice->ConfigurationDescriptor, - Urb->UrbControlDescriptorRequest.TransferBufferLength); + + if (Urb->UrbControlDescriptorRequest.TransferBufferLength >= UsbDevice->ActiveConfig->ConfigurationDescriptor.wTotalLength) + { + Urb->UrbControlDescriptorRequest.TransferBufferLength = UsbDevice->ActiveConfig->ConfigurationDescriptor.wTotalLength; + } + else + { + DPRINT1("Buffer to small!!!\n"); + ASSERT(FALSE); + } + + BufPtr = (PUCHAR)Urb->UrbControlDescriptorRequest.TransferBuffer; + + /* Copy the Configuration Descriptor */ + RtlCopyMemory(BufPtr, &UsbDevice->ActiveConfig->ConfigurationDescriptor, sizeof(USB_CONFIGURATION_DESCRIPTOR)); + BufPtr += sizeof(USB_CONFIGURATION_DESCRIPTOR); + for (i = 0; i < UsbDevice->ActiveConfig->ConfigurationDescriptor.bNumInterfaces; i++) + { + /* Copy the Interface Descriptor */ + RtlCopyMemory(BufPtr, &UsbDevice->ActiveConfig->Interfaces[i]->InterfaceDescriptor, sizeof(USB_INTERFACE_DESCRIPTOR)); + BufPtr += sizeof(USB_INTERFACE_DESCRIPTOR); + for (j = 0; j < UsbDevice->ActiveConfig->Interfaces[i]->InterfaceDescriptor.bNumEndpoints; j++) + { + /* Copy the EndPoint Descriptor */ + RtlCopyMemory(BufPtr, &UsbDevice->ActiveConfig->Interfaces[i]->EndPoints[j]->EndPointDescriptor, sizeof(USB_ENDPOINT_DESCRIPTOR)); + BufPtr += sizeof(USB_ENDPOINT_DESCRIPTOR); + } + } + break; } case USB_STRING_DESCRIPTOR_TYPE: @@ -213,7 +234,7 @@ DPRINT(" MaxPower = %d\n", Urb->UrbSelectConfiguration.ConfigurationDescriptor->MaxPower); - Urb->UrbSelectConfiguration.ConfigurationHandle = (PVOID)&DeviceExtension->UsbDevices[0]->ConfigurationDescriptor; + Urb->UrbSelectConfiguration.ConfigurationHandle = (PVOID)&DeviceExtension->UsbDevices[0]->ActiveConfig->ConfigurationDescriptor; DPRINT("ConfigHandle %x\n", Urb->UrbSelectConfiguration.ConfigurationHandle); InterfaceInfo = &Urb->UrbSelectConfiguration.Interface; @@ -229,10 +250,10 @@ DPRINT(" Reserved = %02x\n", (ULONG)InterfaceInfo->Reserved); DPRINT(" InterfaceHandle = %p\n", InterfaceInfo->InterfaceHandle); DPRINT(" NumberOfPipes = %d\n", InterfaceInfo->NumberOfPipes); - InterfaceInfo->InterfaceHandle = (PVOID)&UsbDevice->InterfaceDescriptor; - InterfaceInfo->Class = UsbDevice->InterfaceDescriptor.bInterfaceClass; - InterfaceInfo->SubClass = UsbDevice->InterfaceDescriptor.bInterfaceSubClass; - InterfaceInfo->Protocol = UsbDevice->InterfaceDescriptor.bInterfaceProtocol; + InterfaceInfo->InterfaceHandle = (PVOID)&UsbDevice->ActiveInterface->InterfaceDescriptor; + InterfaceInfo->Class = UsbDevice->ActiveInterface->InterfaceDescriptor.bInterfaceClass; + InterfaceInfo->SubClass = UsbDevice->ActiveInterface->InterfaceDescriptor.bInterfaceSubClass; + InterfaceInfo->Protocol = UsbDevice->ActiveInterface->InterfaceDescriptor.bInterfaceProtocol; InterfaceInfo->Reserved = 0; for (pCount = 0; pCount < InterfaceInfo->NumberOfPipes; pCount++) @@ -245,11 +266,11 @@ DPRINT(" PipeHandle = %x\n", InterfaceInfo->Pipes[pCount].PipeHandle); DPRINT(" MaximumTransferSize = %d\n", InterfaceInfo->Pipes[pCount].MaximumTransferSize); DPRINT(" PipeFlags = %08x\n", InterfaceInfo->Pipes[pCount].PipeFlags); - InterfaceInfo->Pipes[pCount].MaximumPacketSize = UsbDevice->EndPointDescriptor.wMaxPacketSize; - InterfaceInfo->Pipes[pCount].EndpointAddress = UsbDevice->EndPointDescriptor.bEndpointAddress; - InterfaceInfo->Pipes[pCount].Interval = UsbDevice->EndPointDescriptor.bInterval; + InterfaceInfo->Pipes[pCount].MaximumPacketSize = UsbDevice->ActiveInterface->EndPoints[pCount]->EndPointDescriptor.wMaxPacketSize; + InterfaceInfo->Pipes[pCount].EndpointAddress = UsbDevice->ActiveInterface->EndPoints[pCount]->EndPointDescriptor.bEndpointAddress; + InterfaceInfo->Pipes[pCount].Interval = UsbDevice->ActiveInterface->EndPoints[pCount]->EndPointDescriptor.bInterval; InterfaceInfo->Pipes[pCount].PipeType = UsbdPipeTypeInterrupt; - InterfaceInfo->Pipes[pCount].PipeHandle = (PVOID)&UsbDevice->EndPointDescriptor; + InterfaceInfo->Pipes[pCount].PipeHandle = (PVOID)&UsbDevice->ActiveInterface->EndPoints[pCount]->EndPointDescriptor; if (InterfaceInfo->Pipes[pCount].MaximumTransferSize == 0) InterfaceInfo->Pipes[pCount].MaximumTransferSize = 4096; /* InterfaceInfo->Pipes[j].PipeFlags = 0; */ @@ -315,6 +336,7 @@ break; } case USB_DEVICE_CLASS_RESERVED: + DPRINT1("Reserved!!!\n"); case USB_DEVICE_CLASS_HUB: { PUSB_HUB_DESCRIPTOR UsbHubDescr = Urb->UrbControlVendorClassRequest.TransferBuffer; @@ -328,7 +350,7 @@ /* FIXME: Handle this correctly */ UsbHubDescr->bDescriptorLength = sizeof(USB_HUB_DESCRIPTOR); UsbHubDescr->bDescriptorType = 0x29; - return; + break; } DPRINT1("USB_DEVICE_CLASS_HUB request\n"); UsbHubDescr->bDescriptorLength = sizeof(USB_HUB_DESCRIPTOR); @@ -425,7 +447,6 @@ case USB_REQUEST_SET_ADDRESS: { DPRINT1("USB_REQUEST_SET_ADDRESS\n"); - ASSERT(FALSE); break; } case USB_REQUEST_GET_DESCRIPTOR: Modified: trunk/reactos/drivers/usb/usbehci/pdo.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/pdo.c?…
============================================================================== --- trunk/reactos/drivers/usb/usbehci/pdo.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/pdo.c [iso-8859-1] Mon Apr 5 14:23:30 2010 @@ -11,8 +11,10 @@ #define NDEBUG #include "usbehci.h" +#include <hubbusif.h> +#include <usbbusif.h> +#include "usbiffn.h" #include <wdmguid.h> -#include "usbiffn.h" #include <stdio.h> #include <debug.h> @@ -51,8 +53,11 @@ 6: Self-powered, 5: Remote wakeup, 4..0: reserved */ - 0x00, /* MaxPower; */ - + 0x00 /* MaxPower; */ +}; + +const UCHAR ROOTHUB2_INTERFACE_DESCRIPTOR [] = +{ /* one interface */ 0x09, /* bLength: Interface; */ 0x04, /* bDescriptorType; Interface */ @@ -62,8 +67,11 @@ 0x09, /* bInterfaceClass; HUB_CLASSCODE */ 0x01, /* bInterfaceSubClass; */ 0x00, /* bInterfaceProtocol: */ - 0x00, /* iInterface; */ - + 0x00 /* iInterface; */ +}; + +const UCHAR ROOTHUB2_ENDPOINT_DESCRIPTOR [] = +{ /* one endpoint (status change endpoint) */ 0x07, /* bLength; */ 0x05, /* bDescriptorType; Endpoint */ @@ -87,7 +95,6 @@ DPRINT1("Thread terminated\n"); } -/* FIXME: Do something better */ PVOID InternalCreateUsbDevice(UCHAR DeviceNumber, ULONG Port, PUSB_DEVICE Parent, BOOLEAN Hub) { PUSB_DEVICE UsbDevicePointer = NULL; @@ -98,6 +105,8 @@ return NULL; } + RtlZeroMemory(UsbDevicePointer, sizeof(USB_DEVICE)); + if ((Hub) && (!Parent)) { DPRINT1("This is the root hub\n"); @@ -176,21 +185,27 @@ if (Stack->Parameters.Others.Argument1) { /* Return the root hubs devicehandle */ + DPRINT1("Returning RootHub Handle %x\n", PdoDeviceExtension->UsbDevices[0]); *(PVOID *)Stack->Parameters.Others.Argument1 = (PVOID)PdoDeviceExtension->UsbDevices[0]; + Status = STATUS_SUCCESS; } else Status = STATUS_INVALID_DEVICE_REQUEST; - break; + + break; + } case IOCTL_INTERNAL_USB_GET_HUB_COUNT: { DPRINT1("IOCTL_INTERNAL_USB_GET_HUB_COUNT %x\n", IOCTL_INTERNAL_USB_GET_HUB_COUNT); + ASSERT(Stack->Parameters.Others.Argument1 != NULL); if (Stack->Parameters.Others.Argument1) { /* FIXME: Determine the number of hubs between the usb device and root hub */ - /* For now return 1, the root hub */ - *(PVOID *)Stack->Parameters.Others.Argument1 = (PVOID)1; - } + DPRINT1("RootHubCount %x\n", *(PULONG)Stack->Parameters.Others.Argument1); + *(PULONG)Stack->Parameters.Others.Argument1 = 0; + } + Status = STATUS_SUCCESS; break; } case IOCTL_INTERNAL_USB_GET_HUB_NAME: @@ -220,7 +235,7 @@ if (Stack->Parameters.Others.Argument1) *(PVOID *)Stack->Parameters.Others.Argument1 = FdoDeviceExtension->Pdo; if (Stack->Parameters.Others.Argument2) - *(PVOID *)Stack->Parameters.Others.Argument2 = IoGetAttachedDevice(FdoDeviceExtension->DeviceObject); + *(PVOID *)Stack->Parameters.Others.Argument2 = IoGetAttachedDeviceReference(FdoDeviceExtension->DeviceObject); Information = 0; Status = STATUS_SUCCESS; @@ -275,6 +290,7 @@ SourceString.Length = SourceString.MaximumLength = Index * sizeof(WCHAR); SourceString.Buffer = Buffer; break; + } case BusQueryCompatibleIDs: { @@ -375,9 +391,43 @@ RootHubDevice->DeviceDescriptor.idVendor = FdoDeviceExtension->VendorId; RootHubDevice->DeviceDescriptor.idProduct = FdoDeviceExtension->DeviceId; - RtlCopyMemory(&RootHubDevice->ConfigurationDescriptor, + RootHubDevice->Configs = ExAllocatePoolWithTag(NonPagedPool, + sizeof(PVOID) * RootHubDevice->DeviceDescriptor.bNumConfigurations, + USB_POOL_TAG); + + RootHubDevice->Configs[0] = ExAllocatePoolWithTag(NonPagedPool, + sizeof(USB_CONFIGURATION) + sizeof(PVOID) * ROOTHUB2_CONFIGURATION_DESCRIPTOR[5], + USB_POOL_TAG); + + RootHubDevice->Configs[0]->Interfaces[0] = ExAllocatePoolWithTag(NonPagedPool, + sizeof(USB_INTERFACE) + sizeof(PVOID) * ROOTHUB2_INTERFACE_DESCRIPTOR[3], + USB_POOL_TAG); + + RootHubDevice->Configs[0]->Interfaces[0]->EndPoints[0] = ExAllocatePoolWithTag(NonPagedPool, + sizeof(USB_ENDPOINT), + USB_POOL_TAG); + + DPRINT1("before: ActiveConfig %x\n", RootHubDevice->ActiveConfig); + RootHubDevice->ActiveConfig = RootHubDevice->Configs[0]; + DPRINT1("after: ActiveConfig %x\n", RootHubDevice->ActiveConfig); + + DPRINT1("before: ActiveConfig->Interfaces[0] %x\n", RootHubDevice->ActiveConfig->Interfaces[0]); + RootHubDevice->ActiveInterface = RootHubDevice->ActiveConfig->Interfaces[0]; + + + RtlCopyMemory(&RootHubDevice->ActiveConfig->ConfigurationDescriptor, ROOTHUB2_CONFIGURATION_DESCRIPTOR, sizeof(ROOTHUB2_CONFIGURATION_DESCRIPTOR)); + + RtlCopyMemory(&RootHubDevice->ActiveConfig->Interfaces[0]->InterfaceDescriptor, + ROOTHUB2_INTERFACE_DESCRIPTOR, + sizeof(ROOTHUB2_INTERFACE_DESCRIPTOR)); + + RtlCopyMemory(&RootHubDevice->ActiveConfig->Interfaces[0]->EndPoints[0]->EndPointDescriptor, + ROOTHUB2_ENDPOINT_DESCRIPTOR, + sizeof(ROOTHUB2_ENDPOINT_DESCRIPTOR)); + RootHubDevice->DeviceSpeed = UsbHighSpeed; + RootHubDevice->DeviceType = Usb20Device; PdoDeviceExtension->UsbDevices[0] = RootHubDevice; @@ -397,13 +447,14 @@ if (!NT_SUCCESS(Status)) { DPRINT1("Failed to register interface\n"); + ASSERT(FALSE); } else { Status = IoSetDeviceInterfaceState(&InterfaceSymLinkName, TRUE); DPRINT1("Set interface state %x\n", Status); - } - + if (!NT_SUCCESS(Status)) ASSERT(FALSE); + } Status = STATUS_SUCCESS; break; @@ -593,4 +644,3 @@ IoCompleteRequest(Irp, IO_NO_INCREMENT); return Status; } - Modified: trunk/reactos/drivers/usb/usbehci/usbehci.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/usbehc…
============================================================================== --- trunk/reactos/drivers/usb/usbehci/usbehci.h [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/usbehci.h [iso-8859-1] Mon Apr 5 14:23:30 2010 @@ -5,9 +5,11 @@ #include <stdio.h> #define NDEBUG #include <debug.h> -#include "usbiffn.h" +#include <hubbusif.h> #include <usbioctl.h> #include <usb.h> + +#define USB_POOL_TAG (ULONG)'UsbR' #define DEVICEINTIALIZED 0x01 #define DEVICESTARTED 0x02 @@ -196,10 +198,32 @@ typedef struct _STRING_DESCRIPTOR { - UCHAR bLength; /* Size of this descriptor in bytes */ + UCHAR bLength; /* Size of this descriptor in bytes */ UCHAR bDescriptorType; /* STRING Descriptor Type */ - UCHAR bString[0]; /* UNICODE encoded string */ + UCHAR bString[0]; /* UNICODE encoded string */ } STRING_DESCRIPTOR, *PSTRING_DESCRIPTOR; + +typedef struct _USB_ENDPOINT +{ + ULONG Flags; + LIST_ENTRY UrbList; + struct _USB_INTERFACE *Interface; + USB_ENDPOINT_DESCRIPTOR EndPointDescriptor; +} USB_ENDPOINT, *PUSB_ENDPOINT; + +typedef struct _USB_INTERFACE +{ + struct _USB_CONFIGURATION *Config; + USB_INTERFACE_DESCRIPTOR InterfaceDescriptor; + USB_ENDPOINT *EndPoints[]; +} USB_INTERFACE, *PUSB_INTERFACE; + +typedef struct _USB_CONFIGURATION +{ + struct _USB_DEVICE *Device; + USB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor; + USB_INTERFACE *Interfaces[]; +} USB_CONFIGURATION, *PUSB_CONFIGURATION; typedef struct _USB_DEVICE { @@ -207,10 +231,13 @@ ULONG Port; PVOID ParentDevice; BOOLEAN IsHub; + USB_DEVICE_SPEED DeviceSpeed; + USB_DEVICE_TYPE DeviceType; USB_DEVICE_DESCRIPTOR DeviceDescriptor; - USB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor; - USB_INTERFACE_DESCRIPTOR InterfaceDescriptor; - USB_ENDPOINT_DESCRIPTOR EndPointDescriptor; + USB_CONFIGURATION *ActiveConfig; + USB_INTERFACE *ActiveInterface; + USB_CONFIGURATION **Configs; + } USB_DEVICE, *PUSB_DEVICE; /* USBCMD register 32 bits */ @@ -382,7 +409,7 @@ ULONG ChildDeviceCount; BOOLEAN HaltUrbHandling; PVOID CallbackContext; - PRH_INIT_CALLBACK CallbackRoutine; + RH_INIT_CALLBACK *CallbackRoutine; ULONG NumberOfPorts; EHCIPORTS Ports[32]; } PDO_DEVICE_EXTENSION, *PPDO_DEVICE_EXTENSION; Modified: trunk/reactos/drivers/usb/usbehci/usbiffn.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/usbiff…
============================================================================== --- trunk/reactos/drivers/usb/usbehci/usbiffn.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/usbiffn.c [iso-8859-1] Mon Apr 5 14:23:30 2010 @@ -7,11 +7,32 @@ * Michael Martin */ -/* usbbusif.h and hubbusif.h need to be imported */ #include "usbehci.h" -#include "usbiffn.h" -#define NDEBUG +#include <hubbusif.h> +#include <usbbusif.h> +#define NDEBUG #include <debug.h> + +BOOLEAN +IsHandleValid(PVOID BusContext, + PUSB_DEVICE_HANDLE DeviceHandle) +{ + PPDO_DEVICE_EXTENSION PdoDeviceExtension; + LONG i; + + PdoDeviceExtension = (PPDO_DEVICE_EXTENSION) BusContext; + + if (!DeviceHandle) + return FALSE; + + for (i = 0; i < 128; i++) + { + if (PdoDeviceExtension->UsbDevices[i] == DeviceHandle) + return TRUE; + } + + return FALSE; +} VOID USB_BUSIFFN @@ -44,8 +65,21 @@ USB_BUSIFFN InitializeUsbDevice(PVOID BusContext, PUSB_DEVICE_HANDLE DeviceHandle) { + PPDO_DEVICE_EXTENSION PdoDeviceExtension; + LONG i; DPRINT1("InitializeUsbDevice called\n"); - return STATUS_SUCCESS; + + PdoDeviceExtension = (PPDO_DEVICE_EXTENSION)((PDEVICE_OBJECT)BusContext)->DeviceExtension; + /* Find the device handle */ + for (i = 0; i < PdoDeviceExtension->ChildDeviceCount; i++) + { + if (DeviceHandle == PdoDeviceExtension->UsbDevices[i]) + { + DPRINT1("Device Handle Found!\n"); + return STATUS_SUCCESS; + } + } + return STATUS_DEVICE_DATA_ERROR; } NTSTATUS @@ -93,7 +127,52 @@ ULONG DeviceInformationBufferLength, PULONG LengthReturned) { - DPRINT1("QueryDeviceInformation called\n"); + PUSB_DEVICE_INFORMATION_0 DeviceInfo = DeviceInformationBuffer; + PUSB_DEVICE UsbDevice = (PUSB_DEVICE) DeviceHandle; + ULONG SizeNeeded; + LONG i; + + DPRINT1("QueryDeviceInformation (%x, %x, %x, %d, %x\n", BusContext, DeviceHandle, DeviceInformationBuffer, DeviceInformationBufferLength, LengthReturned); + + /* Search for a valid usb device in this BusContext */ + if (!IsHandleValid(BusContext, DeviceHandle)) + { + DPRINT1("Not a valid DeviceHandle\n"); + return STATUS_INVALID_PARAMETER; + } + + SizeNeeded = FIELD_OFFSET(USB_DEVICE_INFORMATION_0, PipeList[UsbDevice->ActiveInterface->InterfaceDescriptor.bNumEndpoints]); + *LengthReturned = SizeNeeded; + + DeviceInfo->ActualLength = SizeNeeded; + + if (DeviceInformationBufferLength < SizeNeeded) + { + DPRINT1("Buffer to small\n"); + return STATUS_BUFFER_TOO_SMALL; + } + + if (DeviceInfo->InformationLevel != 0) + { + DPRINT1("Invalid Param\n"); + return STATUS_INVALID_PARAMETER; + } + + DeviceInfo->PortNumber = UsbDevice->Port; + DeviceInfo->HubAddress = 1; + DeviceInfo->DeviceAddress = UsbDevice->Address; + DeviceInfo->DeviceSpeed = UsbDevice->DeviceSpeed; + DeviceInfo->DeviceType = UsbDevice->DeviceType; + DeviceInfo->CurrentConfigurationValue = UsbDevice->ActiveConfig->ConfigurationDescriptor.bConfigurationValue; + DeviceInfo->NumberOfOpenPipes = UsbDevice->ActiveInterface->InterfaceDescriptor.bNumEndpoints; + + RtlCopyMemory(&DeviceInfo->DeviceDescriptor, &UsbDevice->DeviceDescriptor, sizeof(USB_DEVICE_DESCRIPTOR)); + + for (i = 0; i < UsbDevice->ActiveInterface->InterfaceDescriptor.bNumEndpoints; i++) + { + RtlCopyMemory(&DeviceInfo->PipeList[i].EndpointDescriptor, &UsbDevice->ActiveInterface->EndPoints[i]->EndPointDescriptor, sizeof(USB_ENDPOINT_DESCRIPTOR)); + } + return STATUS_SUCCESS; } @@ -104,7 +183,29 @@ ULONG ControllerInformationBufferLength, PULONG LengthReturned) { + PUSB_CONTROLLER_INFORMATION_0 ControllerInfo; + DPRINT1("GetControllerInformation called\n"); + ControllerInfo = ControllerInformationBuffer; + + if (ControllerInformationBufferLength < sizeof(USB_CONTROLLER_INFORMATION_0)) + { + DPRINT1("Buffer to small\n"); + return STATUS_BUFFER_TOO_SMALL; + } + + if (ControllerInfo->InformationLevel != 0) + { + DPRINT1("InformationLevel other than 0 not supported\n"); + return STATUS_NOT_SUPPORTED; + } + + ControllerInfo->ActualLength = sizeof(USB_CONTROLLER_INFORMATION_0); + ControllerInfo->SelectiveSuspendEnabled = FALSE; + ControllerInfo->IsHighSpeedController = TRUE; + + *LengthReturned = ControllerInfo->ActualLength; + return STATUS_SUCCESS; } @@ -113,7 +214,7 @@ ControllerSelectiveSuspend(PVOID BusContext, BOOLEAN Enable) { DPRINT1("ControllerSelectiveSuspend called\n"); - return STATUS_SUCCESS; + return STATUS_NOT_SUPPORTED; } NTSTATUS @@ -162,6 +263,12 @@ PULONG HubSymNameActualLength) { DPRINT1("GetRootHubSymbolicName called\n"); + + if (HubSymNameBufferLength < 20) + return STATUS_UNSUCCESSFUL; + //RtlStringCbCopy(HubSymNameBuffer, HubSymNameBufferLength, L"ROOT_HUB20"); + *HubSymNameActualLength = 20; + return STATUS_SUCCESS; } @@ -211,12 +318,12 @@ /* USB_BUS_INTERFACE_USBDI_V2 Functions */ -NTSTATUS +VOID USB_BUSIFFN GetUSBDIVersion(PVOID BusContext, PUSBD_VERSION_INFORMATION VersionInformation, PULONG HcdCapabilites) { DPRINT1("GetUSBDIVersion called\n"); - return STATUS_SUCCESS; + return; } NTSTATUS Modified: trunk/reactos/drivers/usb/usbehci/usbiffn.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/usbiff…
============================================================================== --- trunk/reactos/drivers/usb/usbehci/usbiffn.h [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/usbiffn.h [iso-8859-1] Mon Apr 5 14:23:30 2010 @@ -1,77 +1,9 @@ #pragma once -#define USB_BUSIFFN __stdcall #include <ntifs.h> #include <ntddk.h> #include <usb.h> - -/* usbbusif.h and hubbusif.h need to be imported */ -typedef PVOID PUSB_DEVICE_HANDLE; - -typedef -VOID -USB_BUSIFFN -RH_INIT_CALLBACK (PVOID CallBackContext); - -typedef RH_INIT_CALLBACK *PRH_INIT_CALLBACK; - -typedef struct _USB_EXTPORT_INFORMATION_0 -{ - ULONG PhysicalPortNumber; - ULONG PortLabelNumber; - USHORT VidOverride; - USHORT PidOverride; - ULONG PortAttributes; -} USB_EXTPORT_INFORMATION_0, *PUSB_EXTPORT_INFORMATION; - -typedef struct _USB_EXTHUB_INFORMATION_0 -{ - ULONG InformationLevel; - ULONG NumberOfPorts; - USB_EXTPORT_INFORMATION_0 Port[255]; -} USB_EXTHUB_INFORMATION_0, *PUSB_EXTHUB_INFORMATION_0; - -typedef struct _USB_BUS_INTERFACE_USBDI_V2 -{ - USHORT Size; - USHORT Version; - PVOID BusContext; - PINTERFACE_REFERENCE InterfaceReference; - PINTERFACE_DEREFERENCE InterfaceDereference; - - PVOID GetUSBDIVersion; - PVOID QueryBusTime; - PVOID SubmitIsoOutUrb; - PVOID QueryBusInformation; - PVOID IsDeviceHighSpeed; - PVOID EnumLogEntry; -} USB_BUS_INTERFACE_USBDI_V2, *PUSB_BUS_INTERFACE_USBDI_V2; - -typedef struct _USB_BUS_INTERFACE_HUB_V5 -{ - USHORT Size; - USHORT Version; - PVOID BusContext; - PINTERFACE_REFERENCE InterfaceReference; - PINTERFACE_DEREFERENCE InterfaceDereference; - - PVOID CreateUsbDevice; - PVOID InitializeUsbDevice; - PVOID GetUsbDescriptors; - PVOID RemoveUsbDevice; - PVOID RestoreUsbDevice; - PVOID GetPortHackFlags; - PVOID QueryDeviceInformation; - PVOID GetControllerInformation; - PVOID ControllerSelectiveSuspend; - PVOID GetExtendedHubInformation; - PVOID GetRootHubSymbolicName; - PVOID GetDeviceBusContext; - PVOID Initialize20Hub; - PVOID RootHubInitNotification; - PVOID FlushTransfers; - PVOID SetDeviceHandleData; -} USB_BUS_INTERFACE_HUB_V5, *PUSB_BUS_INTERFACE_HUB_V5; +#include <usbbusif.h> VOID USB_BUSIFFN @@ -167,7 +99,7 @@ USB_BUSIFFN SetDeviceHandleData(PVOID BusContext, PVOID DeviceHandle, PDEVICE_OBJECT UsbDevicePdo); -NTSTATUS +VOID USB_BUSIFFN GetUSBDIVersion(PVOID BusContext, PUSBD_VERSION_INFORMATION VersionInformation, PULONG HcdCapabilites);
14 years, 8 months
1
0
0
0
[jgardou] 46734: [WIN32K] Partially revert 46733 Silence some debug output
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Apr 5 13:53:36 2010 New Revision: 46734 URL:
http://svn.reactos.org/svn/reactos?rev=46734&view=rev
Log: [WIN32K] Partially revert 46733 Silence some debug output Modified: branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c Modified: branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c [iso-8859-1] Mon Apr 5 13:53:36 2010 @@ -60,7 +60,8 @@ /* Do we have a surface? */ if(ppdev->pSurface) { - /* No one should hold a lock on this surface */ + /* Release the surface and let the driver free it */ + SURFACE_ShareUnlockSurface(ppdev->pSurface); ppdev->pfn.DisableSurface(ppdev->dhpdev); } @@ -146,8 +147,6 @@ { HSURF hsurf; - DPRINT("PDEVOBJ_pSurface()\n"); - /* Check if we already have a surface */ if (ppdev->pSurface) { @@ -291,6 +290,7 @@ PPDEVOBJ ppdev2) { PDEVOBJ pdevTmp; + HDEV hdev; /* Exchange data */ pdevTmp = *ppdev; @@ -310,10 +310,9 @@ /* Exchange surface */ ppdev->pSurface = ppdev2->pSurface; ppdev2->pSurface = pdevTmp.pSurface; - if(ppdev->pSurface) - ppdev->pSurface->SurfObj.hdev = (HDEV)ppdev; - if(ppdev2->pSurface) - ppdev2->pSurface->SurfObj.hdev = (HDEV)ppdev2; + hdev = ppdev->pSurface->SurfObj.hdev; + ppdev->pSurface->SurfObj.hdev = ppdev2->pSurface->SurfObj.hdev; + ppdev2->pSurface->SurfObj.hdev = hdev; /* Exchange devinfo */ ppdev->devinfo = ppdev2->devinfo; @@ -337,6 +336,7 @@ { UNICODE_STRING ustrDevice; PPDEVOBJ ppdevTmp; + PSURFACE pSurface; BOOL retval = FALSE; /* Lock the PDEV */ @@ -365,14 +365,25 @@ goto leave; } - /* 3. Get DirectDraw information */ - /* 4. Enable DirectDraw Not traced */ - /* 5. Copy old PDEV state to new PDEV instance */ - - /* 6. Switch the PDEVs */ + /* 3. Create a new surface */ + pSurface = PDEVOBJ_pSurface(ppdevTmp); + if (!pSurface) + { + DPRINT1("DrvEnableSurface failed\n"); + goto leave; + } + + ASSERT(pSurface->BitsLock); + + /* 4. Get DirectDraw information */ + /* 5. Enable DirectDraw Not traced */ + /* 6. Copy old PDEV state to new PDEV instance */ + + /* 7. Switch the PDEVs */ PDEVOBJ_vSwitchPdev(ppdev, ppdevTmp); - - /* 7. Disable DirectDraw */ + ASSERT(ppdev->pSurface->BitsLock); + + /* 8. Disable DirectDraw */ PDEVOBJ_vRelease(ppdevTmp); @@ -384,6 +395,7 @@ EngReleaseSemaphore(ghsemPDEV); DPRINT1("leave, ppdev = %p, pSurface = %p\n", ppdev, ppdev->pSurface); + ASSERT(ppdev->pSurface->BitsLock); return retval; }
14 years, 8 months
1
0
0
0
[jgardou] 46733: [WIN32K] -Make direct DC release shared lock on surface each time they're unlocked. -Now they don't hold it unless they're locked themselves. -Do not create the device surface when switching modes, this is inconsistent with the PDEVOBJ creation, which does not. *No more "you are freeing a surface which is still hold" debug message when switching modes*
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Apr 5 12:58:43 2010 New Revision: 46733 URL:
http://svn.reactos.org/svn/reactos?rev=46733&view=rev
Log: [WIN32K] -Make direct DC release shared lock on surface each time they're unlocked. -Now they don't hold it unless they're locked themselves. -Do not create the device surface when switching modes, this is inconsistent with the PDEVOBJ creation, which does not. *No more "you are freeing a surface which is still hold" debug message when switching modes* Modified: branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c branches/reactos-yarotows/subsystems/win32/win32k/include/dc.h branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c Modified: branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c [iso-8859-1] Mon Apr 5 12:58:43 2010 @@ -60,8 +60,7 @@ /* Do we have a surface? */ if(ppdev->pSurface) { - /* Release the surface and let the driver free it */ - SURFACE_ShareUnlockSurface(ppdev->pSurface); + /* No one should hold a lock on this surface */ ppdev->pfn.DisableSurface(ppdev->dhpdev); } @@ -147,7 +146,7 @@ { HSURF hsurf; - DPRINT1("PDEVOBJ_pSurface()\n"); + DPRINT("PDEVOBJ_pSurface()\n"); /* Check if we already have a surface */ if (ppdev->pSurface) @@ -164,7 +163,7 @@ ppdev->pSurface = SURFACE_ShareLockSurface(hsurf); } - DPRINT1("PDEVOBJ_pSurface() returning %p\n", ppdev->pSurface); + DPRINT("PDEVOBJ_pSurface() returning %p\n", ppdev->pSurface); return ppdev->pSurface; } @@ -292,7 +291,6 @@ PPDEVOBJ ppdev2) { PDEVOBJ pdevTmp; - HDEV hdev; /* Exchange data */ pdevTmp = *ppdev; @@ -312,9 +310,10 @@ /* Exchange surface */ ppdev->pSurface = ppdev2->pSurface; ppdev2->pSurface = pdevTmp.pSurface; - hdev = ppdev->pSurface->SurfObj.hdev; - ppdev->pSurface->SurfObj.hdev = ppdev2->pSurface->SurfObj.hdev; - ppdev2->pSurface->SurfObj.hdev = hdev; + if(ppdev->pSurface) + ppdev->pSurface->SurfObj.hdev = (HDEV)ppdev; + if(ppdev2->pSurface) + ppdev2->pSurface->SurfObj.hdev = (HDEV)ppdev2; /* Exchange devinfo */ ppdev->devinfo = ppdev2->devinfo; @@ -338,7 +337,6 @@ { UNICODE_STRING ustrDevice; PPDEVOBJ ppdevTmp; - PSURFACE pSurface; BOOL retval = FALSE; /* Lock the PDEV */ @@ -367,25 +365,14 @@ goto leave; } - /* 3. Create a new surface */ - pSurface = PDEVOBJ_pSurface(ppdevTmp); - if (!pSurface) - { - DPRINT1("DrvEnableSurface failed\n"); - goto leave; - } - - ASSERT(pSurface->BitsLock); - - /* 4. Get DirectDraw information */ - /* 5. Enable DirectDraw Not traced */ - /* 6. Copy old PDEV state to new PDEV instance */ - - /* 7. Switch the PDEVs */ + /* 3. Get DirectDraw information */ + /* 4. Enable DirectDraw Not traced */ + /* 5. Copy old PDEV state to new PDEV instance */ + + /* 6. Switch the PDEVs */ PDEVOBJ_vSwitchPdev(ppdev, ppdevTmp); - ASSERT(ppdev->pSurface->BitsLock); - - /* 8. Disable DirectDraw */ + + /* 7. Disable DirectDraw */ PDEVOBJ_vRelease(ppdevTmp); @@ -397,7 +384,6 @@ EngReleaseSemaphore(ghsemPDEV); DPRINT1("leave, ppdev = %p, pSurface = %p\n", ppdev, ppdev->pSurface); - ASSERT(ppdev->pSurface->BitsLock); return retval; } Modified: branches/reactos-yarotows/subsystems/win32/win32k/include/dc.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/include/dc.h [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/include/dc.h [iso-8859-1] Mon Apr 5 12:58:43 2010 @@ -176,12 +176,9 @@ /* Acquire shared PDEV lock */ EngAcquireSemaphoreShared(pdc->ppdev->hsemDevLock); - /* Update Surface if needed */ - if(pdc->dclevel.pSurface != pdc->ppdev->pSurface) - { - if(pdc->dclevel.pSurface) SURFACE_ShareUnlockSurface(pdc->dclevel.pSurface); - pdc->dclevel.pSurface = PDEVOBJ_pSurface(pdc->ppdev); - } + /* Assign Surface */ + pdc->dclevel.pSurface = PDEVOBJ_pSurface(pdc->ppdev); + } return pdc; } @@ -192,6 +189,8 @@ { if(pdc->dctype == DCTYPE_DIRECT) { + /* Release surface lock */ + SURFACE_ShareUnlockSurface(pdc->dclevel.pSurface); /* Release PDEV lock */ EngReleaseSemaphore(pdc->ppdev->hsemDevLock); } Modified: branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c [iso-8859-1] Mon Apr 5 12:58:43 2010 @@ -377,7 +377,8 @@ PATH_Delete(pdc->dclevel.hPath); - if(pdc->dclevel.pSurface) + /* Ideally, no DC should hold a lock on a surface when being deleted */ + if(pdc->dclevel.pSurface && pdc->dctype != DCTYPE_DIRECT) SURFACE_ShareUnlockSurface(pdc->dclevel.pSurface); PDEVOBJ_vRelease(pdc->ppdev) ;
14 years, 8 months
1
0
0
0
[jgardou] 46732: Sync with trunk (aka 'I want my virtualbox mouse integration too')
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Apr 5 11:59:21 2010 New Revision: 46732 URL:
http://svn.reactos.org/svn/reactos?rev=46732&view=rev
Log: Sync with trunk (aka 'I want my virtualbox mouse integration too') Added: branches/reactos-yarotows/drivers/bus/pcix/ - copied from r46726, trunk/reactos/drivers/bus/pcix/ branches/reactos-yarotows/hal/halx86/hal_generic_acpi.rbuild - copied unchanged from r46726, trunk/reactos/hal/halx86/hal_generic_acpi.rbuild branches/reactos-yarotows/hal/halx86/hal_generic_pcat.rbuild - copied unchanged from r46726, trunk/reactos/hal/halx86/hal_generic_pcat.rbuild branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnpinit.c - copied unchanged from r46726, trunk/reactos/ntoskrnl/io/pnpmgr/pnpinit.c branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnputil.c - copied unchanged from r46726, trunk/reactos/ntoskrnl/io/pnpmgr/pnputil.c Removed: branches/reactos-yarotows/drivers/battery/cmbatt/ branches/reactos-yarotows/ntoskrnl/io/iomgr/drvrlist.c Modified: branches/reactos-yarotows/ (props changed) branches/reactos-yarotows/base/applications/taskmgr/taskmgr.c branches/reactos-yarotows/base/shell/cmd/console.c branches/reactos-yarotows/base/shell/cmd/filecomp.c branches/reactos-yarotows/base/shell/explorer/utility/window.cpp branches/reactos-yarotows/base/system/format/format.c branches/reactos-yarotows/boot/bootdata/packages/reactos.dff branches/reactos-yarotows/boot/bootdata/txtsetup.sif branches/reactos-yarotows/boot/freeldr/freeldr/arch/i386/hardware.c branches/reactos-yarotows/dll/directx/bdaplgin/classfactory.cpp (props changed) branches/reactos-yarotows/dll/directx/d3d8/d3d8.spec (props changed) branches/reactos-yarotows/dll/directx/devenum/createdevenum.c branches/reactos-yarotows/dll/directx/devenum/devenum_private.h branches/reactos-yarotows/dll/directx/devenum/mediacatenum.c branches/reactos-yarotows/dll/directx/dsound_new/classfactory.c (props changed) branches/reactos-yarotows/dll/directx/dsound_new/dsound.spec (props changed) branches/reactos-yarotows/dll/directx/dsound_new/dsound_convert.c (props changed) branches/reactos-yarotows/dll/directx/dsound_new/regsvr.c (props changed) branches/reactos-yarotows/dll/directx/ksproxy/enumpins.cpp branches/reactos-yarotows/dll/directx/ksproxy/input_pin.cpp branches/reactos-yarotows/dll/directx/ksproxy/mediasample.cpp branches/reactos-yarotows/dll/directx/ksproxy/output_pin.cpp branches/reactos-yarotows/dll/directx/ksproxy/precomp.h branches/reactos-yarotows/dll/directx/ksproxy/proxy.cpp branches/reactos-yarotows/dll/directx/msdvbnp/enumpins.cpp branches/reactos-yarotows/dll/directx/msdvbnp/msdvbnp.cpp branches/reactos-yarotows/dll/directx/msdvbnp/networkprovider.cpp branches/reactos-yarotows/dll/directx/msdvbnp/pin.cpp branches/reactos-yarotows/dll/shellext/devcpux/devcpux.spec (props changed) branches/reactos-yarotows/dll/shellext/slayer/slayer.spec (props changed) branches/reactos-yarotows/dll/win32/gdi32/objects/region.c branches/reactos-yarotows/dll/win32/shell32/dialogs.c branches/reactos-yarotows/dll/win32/shell32/lang/bg-BG.rc branches/reactos-yarotows/dll/win32/shell32/lang/ca-ES.rc branches/reactos-yarotows/dll/win32/shell32/lang/cs-CZ.rc branches/reactos-yarotows/dll/win32/shell32/lang/da-DK.rc branches/reactos-yarotows/dll/win32/shell32/lang/de-DE.rc branches/reactos-yarotows/dll/win32/shell32/lang/el-GR.rc branches/reactos-yarotows/dll/win32/shell32/lang/en-GB.rc branches/reactos-yarotows/dll/win32/shell32/lang/en-US.rc branches/reactos-yarotows/dll/win32/shell32/lang/es-ES.rc branches/reactos-yarotows/dll/win32/shell32/lang/fi-FI.rc branches/reactos-yarotows/dll/win32/shell32/lang/fr-FR.rc branches/reactos-yarotows/dll/win32/shell32/lang/hu-HU.rc branches/reactos-yarotows/dll/win32/shell32/lang/it-IT.rc branches/reactos-yarotows/dll/win32/shell32/lang/ja-JP.rc branches/reactos-yarotows/dll/win32/shell32/lang/ko-KR.rc branches/reactos-yarotows/dll/win32/shell32/lang/nl-NL.rc branches/reactos-yarotows/dll/win32/shell32/lang/no-NO.rc branches/reactos-yarotows/dll/win32/shell32/lang/pl-PL.rc branches/reactos-yarotows/dll/win32/shell32/lang/pt-BR.rc branches/reactos-yarotows/dll/win32/shell32/lang/pt-PT.rc branches/reactos-yarotows/dll/win32/shell32/lang/ro-RO.rc branches/reactos-yarotows/dll/win32/shell32/lang/ru-RU.rc branches/reactos-yarotows/dll/win32/shell32/lang/sk-SK.rc branches/reactos-yarotows/dll/win32/shell32/lang/sl-SI.rc branches/reactos-yarotows/dll/win32/shell32/lang/sv-SE.rc branches/reactos-yarotows/dll/win32/shell32/lang/tr-TR.rc branches/reactos-yarotows/dll/win32/shell32/lang/uk-UA.rc branches/reactos-yarotows/dll/win32/shell32/lang/zh-CN.rc branches/reactos-yarotows/dll/win32/shell32/lang/zh-TW.rc branches/reactos-yarotows/dll/win32/shell32/shresdef.h branches/reactos-yarotows/drivers/battery/directory.rbuild branches/reactos-yarotows/drivers/bus/acpi/cmbatt/cmbatt.rbuild branches/reactos-yarotows/drivers/bus/directory.rbuild branches/reactos-yarotows/drivers/bus/pci/pdo.c branches/reactos-yarotows/drivers/ksfilter/ks/api.c branches/reactos-yarotows/drivers/ksfilter/ks/bag.c branches/reactos-yarotows/drivers/ksfilter/ks/clocks.c branches/reactos-yarotows/drivers/ksfilter/ks/connectivity.c branches/reactos-yarotows/drivers/ksfilter/ks/device.c branches/reactos-yarotows/drivers/ksfilter/ks/deviceinterface.c branches/reactos-yarotows/drivers/ksfilter/ks/driver.c branches/reactos-yarotows/drivers/ksfilter/ks/filter.c branches/reactos-yarotows/drivers/ksfilter/ks/filterfactory.c branches/reactos-yarotows/drivers/ksfilter/ks/kstypes.h branches/reactos-yarotows/drivers/ksfilter/ks/pin.c branches/reactos-yarotows/drivers/ksfilter/ks/priv.h branches/reactos-yarotows/drivers/ksfilter/ks/property.c branches/reactos-yarotows/drivers/multimedia/bdasup/bdasup.c branches/reactos-yarotows/drivers/multimedia/bdasup/precomp.h branches/reactos-yarotows/drivers/storage/ide/uniata/id_ata.cpp branches/reactos-yarotows/drivers/usb/usbehci/fdo.c branches/reactos-yarotows/drivers/usb/usbehci/irp.c branches/reactos-yarotows/drivers/usb/usbehci/pdo.c branches/reactos-yarotows/drivers/usb/usbehci/usbehci.h branches/reactos-yarotows/hal/halx86/directory.rbuild branches/reactos-yarotows/hal/halx86/generic/acpi/halacpi.c branches/reactos-yarotows/hal/halx86/generic/acpi/halpnpdd.c branches/reactos-yarotows/hal/halx86/generic/bus/pcibus.c branches/reactos-yarotows/hal/halx86/generic/legacy/halpcat.c branches/reactos-yarotows/hal/halx86/generic/misc.c branches/reactos-yarotows/hal/halx86/generic/usage.c branches/reactos-yarotows/hal/halx86/hal.rbuild branches/reactos-yarotows/hal/halx86/hal_generic.rbuild branches/reactos-yarotows/hal/halx86/halacpi.rbuild branches/reactos-yarotows/hal/halx86/halamd64.rbuild branches/reactos-yarotows/hal/halx86/halmps.rbuild branches/reactos-yarotows/hal/halx86/halxbox.rbuild branches/reactos-yarotows/hal/halx86/include/bus.h branches/reactos-yarotows/hal/halx86/include/halp.h branches/reactos-yarotows/hal/halx86/mp/processor_mp.c branches/reactos-yarotows/hal/halx86/up/processor.c branches/reactos-yarotows/include/ndk/amd64/ (props changed) branches/reactos-yarotows/include/ndk/amd64/asmmacro.S (props changed) branches/reactos-yarotows/include/psdk/ks.h branches/reactos-yarotows/include/reactos/win32k/ntgdityp.h branches/reactos-yarotows/lib/cmlib/cmlib.h branches/reactos-yarotows/lib/cmlib/hivecell.c branches/reactos-yarotows/lib/cmlib/hivewrt.c branches/reactos-yarotows/lib/drivers/sound/mmixer/wave.c branches/reactos-yarotows/lib/sdk/crt/time/ (props changed) branches/reactos-yarotows/ntoskrnl/config/cmapi.c branches/reactos-yarotows/ntoskrnl/config/cmboot.c branches/reactos-yarotows/ntoskrnl/config/cmhvlist.c branches/reactos-yarotows/ntoskrnl/config/cminit.c branches/reactos-yarotows/ntoskrnl/config/cmkcbncb.c branches/reactos-yarotows/ntoskrnl/config/cmparse.c branches/reactos-yarotows/ntoskrnl/config/cmsysini.c branches/reactos-yarotows/ntoskrnl/include/internal/cm.h branches/reactos-yarotows/ntoskrnl/include/internal/io.h branches/reactos-yarotows/ntoskrnl/io/iomgr/deviface.c branches/reactos-yarotows/ntoskrnl/io/iomgr/driver.c branches/reactos-yarotows/ntoskrnl/io/iomgr/iomgr.c branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnpmgr.c branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnpreport.c branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnproot.c branches/reactos-yarotows/ntoskrnl/kdbg/ (props changed) branches/reactos-yarotows/ntoskrnl/ntoskrnl-generic.rbuild branches/reactos-yarotows/ntoskrnl/se/semgr.c branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c branches/reactos-yarotows/subsystems/win32/win32k/include/dc.h branches/reactos-yarotows/subsystems/win32/win32k/include/engobjects.h (props changed) branches/reactos-yarotows/subsystems/win32/win32k/include/pdevobj.h branches/reactos-yarotows/subsystems/win32/win32k/include/surface.h branches/reactos-yarotows/subsystems/win32/win32k/ntuser/display.c branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c branches/reactos-yarotows/subsystems/win32/win32k/objects/dcutil.c branches/reactos-yarotows/tools/rsym/rsym.c (props changed) branches/reactos-yarotows/tools/rsym/rsym.h (props changed) branches/reactos-yarotows/tools/rsym/rsym.mak (props changed) branches/reactos-yarotows/tools/rsym/rsym_common.c (props changed) [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/reactos-yarotows/base/applications/taskmgr/taskmgr.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/applicati…
Modified: branches/reactos-yarotows/base/shell/cmd/console.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/shell/cmd…
Modified: branches/reactos-yarotows/base/shell/cmd/filecomp.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/shell/cmd…
Modified: branches/reactos-yarotows/base/shell/explorer/utility/window.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/shell/exp…
Modified: branches/reactos-yarotows/base/system/format/format.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/base/system/fo…
Modified: branches/reactos-yarotows/boot/bootdata/packages/reactos.dff URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/boot/bootdata/…
Modified: branches/reactos-yarotows/boot/bootdata/txtsetup.sif URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/boot/bootdata/…
Modified: branches/reactos-yarotows/boot/freeldr/freeldr/arch/i386/hardware.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/boot/freeldr/f…
Modified: branches/reactos-yarotows/dll/directx/devenum/createdevenum.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/de…
Modified: branches/reactos-yarotows/dll/directx/devenum/devenum_private.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/de…
Modified: branches/reactos-yarotows/dll/directx/devenum/mediacatenum.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/de…
Modified: branches/reactos-yarotows/dll/directx/ksproxy/enumpins.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ks…
Modified: branches/reactos-yarotows/dll/directx/ksproxy/input_pin.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ks…
Modified: branches/reactos-yarotows/dll/directx/ksproxy/mediasample.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ks…
Modified: branches/reactos-yarotows/dll/directx/ksproxy/output_pin.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ks…
Modified: branches/reactos-yarotows/dll/directx/ksproxy/precomp.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ks…
Modified: branches/reactos-yarotows/dll/directx/ksproxy/proxy.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ks…
Modified: branches/reactos-yarotows/dll/directx/msdvbnp/enumpins.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ms…
Modified: branches/reactos-yarotows/dll/directx/msdvbnp/msdvbnp.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ms…
Modified: branches/reactos-yarotows/dll/directx/msdvbnp/networkprovider.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ms…
Modified: branches/reactos-yarotows/dll/directx/msdvbnp/pin.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/directx/ms…
Modified: branches/reactos-yarotows/dll/win32/gdi32/objects/region.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/gdi3…
Modified: branches/reactos-yarotows/dll/win32/shell32/dialogs.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/ca-ES.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/da-DK.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/en-GB.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/fi-FI.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/ko-KR.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/pt-PT.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/sl-SI.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/dll/win32/shell32/shresdef.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/dll/win32/shel…
Modified: branches/reactos-yarotows/drivers/battery/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/batter…
Modified: branches/reactos-yarotows/drivers/bus/acpi/cmbatt/cmbatt.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/bus/ac…
Modified: branches/reactos-yarotows/drivers/bus/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/bus/di…
Modified: branches/reactos-yarotows/drivers/bus/pci/pdo.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/bus/pc…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/api.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/bag.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/clocks.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/connectivity.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/device.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/deviceinterface.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/driver.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/filter.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/filterfactory.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/kstypes.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/pin.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/priv.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/ksfilter/ks/property.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/ksfilt…
Modified: branches/reactos-yarotows/drivers/multimedia/bdasup/bdasup.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/multim…
Modified: branches/reactos-yarotows/drivers/multimedia/bdasup/precomp.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/multim…
Modified: branches/reactos-yarotows/drivers/storage/ide/uniata/id_ata.cpp URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/storag…
Modified: branches/reactos-yarotows/drivers/usb/usbehci/fdo.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/usb/us…
Modified: branches/reactos-yarotows/drivers/usb/usbehci/irp.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/usb/us…
Modified: branches/reactos-yarotows/drivers/usb/usbehci/pdo.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/usb/us…
Modified: branches/reactos-yarotows/drivers/usb/usbehci/usbehci.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/drivers/usb/us…
Modified: branches/reactos-yarotows/hal/halx86/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/dir…
Modified: branches/reactos-yarotows/hal/halx86/generic/acpi/halacpi.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/gen…
Modified: branches/reactos-yarotows/hal/halx86/generic/acpi/halpnpdd.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/gen…
Modified: branches/reactos-yarotows/hal/halx86/generic/bus/pcibus.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/gen…
Modified: branches/reactos-yarotows/hal/halx86/generic/legacy/halpcat.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/gen…
Modified: branches/reactos-yarotows/hal/halx86/generic/misc.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/gen…
Modified: branches/reactos-yarotows/hal/halx86/generic/usage.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/gen…
Modified: branches/reactos-yarotows/hal/halx86/hal.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/hal…
Modified: branches/reactos-yarotows/hal/halx86/hal_generic.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/hal…
Modified: branches/reactos-yarotows/hal/halx86/halacpi.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/hal…
Modified: branches/reactos-yarotows/hal/halx86/halamd64.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/hal…
Modified: branches/reactos-yarotows/hal/halx86/halmps.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/hal…
Modified: branches/reactos-yarotows/hal/halx86/halxbox.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/hal…
Modified: branches/reactos-yarotows/hal/halx86/include/bus.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/inc…
Modified: branches/reactos-yarotows/hal/halx86/include/halp.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/inc…
Modified: branches/reactos-yarotows/hal/halx86/mp/processor_mp.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/mp/…
Modified: branches/reactos-yarotows/hal/halx86/up/processor.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/hal/halx86/up/…
Modified: branches/reactos-yarotows/include/psdk/ks.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/psdk/k…
Modified: branches/reactos-yarotows/include/reactos/win32k/ntgdityp.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/include/reacto…
Modified: branches/reactos-yarotows/lib/cmlib/cmlib.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/cmlib/cmli…
Modified: branches/reactos-yarotows/lib/cmlib/hivecell.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/cmlib/hive…
Modified: branches/reactos-yarotows/lib/cmlib/hivewrt.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/cmlib/hive…
Modified: branches/reactos-yarotows/lib/drivers/sound/mmixer/wave.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/lib/drivers/so…
Modified: branches/reactos-yarotows/ntoskrnl/config/cmapi.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/confi…
Modified: branches/reactos-yarotows/ntoskrnl/config/cmboot.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/confi…
Modified: branches/reactos-yarotows/ntoskrnl/config/cmhvlist.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/confi…
Modified: branches/reactos-yarotows/ntoskrnl/config/cminit.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/confi…
Modified: branches/reactos-yarotows/ntoskrnl/config/cmkcbncb.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/confi…
Modified: branches/reactos-yarotows/ntoskrnl/config/cmparse.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/confi…
Modified: branches/reactos-yarotows/ntoskrnl/config/cmsysini.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/confi…
Modified: branches/reactos-yarotows/ntoskrnl/include/internal/cm.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
Modified: branches/reactos-yarotows/ntoskrnl/include/internal/io.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/inclu…
Modified: branches/reactos-yarotows/ntoskrnl/io/iomgr/deviface.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/io…
Modified: branches/reactos-yarotows/ntoskrnl/io/iomgr/driver.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/io…
Removed: branches/reactos-yarotows/ntoskrnl/io/iomgr/drvrlist.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/io…
Modified: branches/reactos-yarotows/ntoskrnl/io/iomgr/iomgr.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/io…
Modified: branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnpmgr.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/pn…
Modified: branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnpreport.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/pn…
Modified: branches/reactos-yarotows/ntoskrnl/io/pnpmgr/pnproot.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/io/pn…
Modified: branches/reactos-yarotows/ntoskrnl/ntoskrnl-generic.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/ntosk…
Modified: branches/reactos-yarotows/ntoskrnl/se/semgr.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/ntoskrnl/se/se…
Modified: branches/reactos-yarotows/subsystems/win32/win32k/eng/pdevobj.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
Modified: branches/reactos-yarotows/subsystems/win32/win32k/include/dc.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
Modified: branches/reactos-yarotows/subsystems/win32/win32k/include/pdevobj.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
Modified: branches/reactos-yarotows/subsystems/win32/win32k/include/surface.h URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
Modified: branches/reactos-yarotows/subsystems/win32/win32k/ntuser/display.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
Modified: branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
Modified: branches/reactos-yarotows/subsystems/win32/win32k/objects/dcutil.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
14 years, 8 months
1
0
0
0
[cwittich] 46730: [quartz] sync quartz to wine 1.1.42
by cwittich@svn.reactos.org
Author: cwittich Date: Mon Apr 5 11:44:43 2010 New Revision: 46730 URL:
http://svn.reactos.org/svn/reactos?rev=46730&view=rev
Log: [quartz] sync quartz to wine 1.1.42 Modified: trunk/reactos/dll/directx/quartz/avidec.c trunk/reactos/dll/directx/quartz/avisplit.c Modified: trunk/reactos/dll/directx/quartz/avidec.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/quartz/avidec.…
============================================================================== --- trunk/reactos/dll/directx/quartz/avidec.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/quartz/avidec.c [iso-8859-1] Mon Apr 5 11:44:43 2010 @@ -203,7 +203,7 @@ bmi = &format2->bmiHeader; else goto failed; - TRACE("Fourcc: %s\n", debugstr_an((char *)&pmt->subtype.Data1, 4)); + TRACE("Fourcc: %s\n", debugstr_an((const char *)&pmt->subtype.Data1, 4)); This->hvid = ICLocate(pmt->majortype.Data1, pmt->subtype.Data1, bmi, NULL, ICMODE_DECOMPRESS); if (This->hvid) Modified: trunk/reactos/dll/directx/quartz/avisplit.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/quartz/avispli…
============================================================================== --- trunk/reactos/dll/directx/quartz/avisplit.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/quartz/avisplit.c [iso-8859-1] Mon Apr 5 11:44:43 2010 @@ -692,7 +692,7 @@ amt.formattype = FORMAT_WaveFormatEx; break; default: - FIXME("fccType %.4s not handled yet\n", (char *)&pStrHdr->fccType); + FIXME("fccType %.4s not handled yet\n", (const char *)&pStrHdr->fccType); amt.formattype = FORMAT_None; } amt.majortype = MEDIATYPE_Video; @@ -793,7 +793,7 @@ TRACE("bIndexSubType: %hd\n", pIndex->bIndexSubType); TRACE("bIndexType: %hd\n", pIndex->bIndexType); TRACE("nEntriesInUse: %u\n", pIndex->nEntriesInUse); - TRACE("dwChunkId: %.4s\n", (char *)&pIndex->dwChunkId); + TRACE("dwChunkId: %.4s\n", (const char *)&pIndex->dwChunkId); if (pIndex->dwReserved[0]) TRACE("dwReserved[0]: %u\n", pIndex->dwReserved[0]); if (pIndex->dwReserved[2])
14 years, 8 months
1
0
0
0
[cwittich] 46729: [qedit] sync qedit to wine 1.1.42
by cwittich@svn.reactos.org
Author: cwittich Date: Mon Apr 5 11:40:24 2010 New Revision: 46729 URL:
http://svn.reactos.org/svn/reactos?rev=46729&view=rev
Log: [qedit] sync qedit to wine 1.1.42 Modified: trunk/reactos/dll/directx/qedit/samplegrabber.c Modified: trunk/reactos/dll/directx/qedit/samplegrabber.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/qedit/samplegr…
============================================================================== --- trunk/reactos/dll/directx/qedit/samplegrabber.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/qedit/samplegrabber.c [iso-8859-1] Mon Apr 5 11:40:24 2010 @@ -854,7 +854,7 @@ static HRESULT WINAPI SampleGrabber_ISampleGrabber_GetCurrentSample(ISampleGrabber *iface, IMediaSample **sample) { - /* MS doesn't implement it either, noone should call it */ + /* MS doesn't implement it either, no one should call it */ WARN("(%p): not implemented\n", sample); return E_NOTIMPL; } @@ -1264,7 +1264,7 @@ TRACE("(%p)->(%p)\n", This, mtypes); if (!mtypes) return E_POINTER; - *mtypes = mediaenum_create(This->sg->pin_in.pair ? &This->sg->mtype : (const AM_MEDIA_TYPE *)NULL); + *mtypes = mediaenum_create(This->sg->pin_in.pair ? &This->sg->mtype : NULL); return *mtypes ? S_OK : E_OUTOFMEMORY; }
14 years, 8 months
1
0
0
0
[cwittich] 46728: [mscoree] sync mscoree to wine 1.1.42
by cwittich@svn.reactos.org
Author: cwittich Date: Mon Apr 5 11:39:06 2010 New Revision: 46728 URL:
http://svn.reactos.org/svn/reactos?rev=46728&view=rev
Log: [mscoree] sync mscoree to wine 1.1.42 Modified: trunk/reactos/dll/win32/mscoree/mscoree.spec trunk/reactos/dll/win32/mscoree/mscoree_main.c Modified: trunk/reactos/dll/win32/mscoree/mscoree.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscoree/mscoree.…
============================================================================== --- trunk/reactos/dll/win32/mscoree/mscoree.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mscoree/mscoree.spec [iso-8859-1] Mon Apr 5 11:39:06 2010 @@ -7,7 +7,7 @@ @ stub CallFunctionShim @ stub CloseCtrs -@ stub ClrCreateManagedInstance +@ stdcall ClrCreateManagedInstance(wstr ptr ptr) @ stub CoEEShutDownCOM @ stdcall CoInitializeCor(long) @ stub CoInitializeEE Modified: trunk/reactos/dll/win32/mscoree/mscoree_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscoree/mscoree_…
============================================================================== --- trunk/reactos/dll/win32/mscoree/mscoree_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mscoree/mscoree_main.c [iso-8859-1] Mon Apr 5 11:39:06 2010 @@ -91,9 +91,9 @@ { WCHAR *mono_exe; - FIXME("(%s, %s, %s, %p, %d, %p, %p, %p): semi-stub!\n", debugstr_w(pwszVersion), + FIXME("(%s, %s, %s, %p, %d, %s, %s, %p): semi-stub!\n", debugstr_w(pwszVersion), debugstr_w(pwszBuildFlavor), debugstr_w(pwszHostConfigFile), pReserved, - startupFlags, rclsid, riid, ppv); + startupFlags, debugstr_guid(rclsid), debugstr_guid(riid), ppv); if (!(mono_exe = get_mono_exe())) { @@ -144,6 +144,11 @@ PROCESS_INFORMATION pi; WCHAR *mono_exe, *cmd_line; DWORD size, exit_code; + static const WCHAR WINE_MONO_TRACE[]={'W','I','N','E','_','M','O','N','O','_','T','R','A','C','E',0}; + static const WCHAR trace_switch_start[]={'"','-','-','t','r','a','c','e','=',0}; + static const WCHAR trace_switch_end[]={'"',' ',0}; + int trace_size; + WCHAR trace_setting[256]; if (!(mono_exe = get_mono_exe())) { @@ -151,7 +156,13 @@ return -1; } + trace_size = GetEnvironmentVariableW(WINE_MONO_TRACE, trace_setting, sizeof(trace_setting)/sizeof(WCHAR)); + size = (lstrlenW(mono_exe) + lstrlenW(GetCommandLineW()) + 1) * sizeof(WCHAR); + + if (trace_size) + size += (trace_size + lstrlenW(trace_switch_start) + lstrlenW(trace_switch_end)) * sizeof(WCHAR); + if (!(cmd_line = HeapAlloc(GetProcessHeap(), 0, size))) { HeapFree(GetProcessHeap(), 0, mono_exe); @@ -160,6 +171,14 @@ lstrcpyW(cmd_line, mono_exe); HeapFree(GetProcessHeap(), 0, mono_exe); + + if (trace_size) + { + lstrcatW(cmd_line, trace_switch_start); + lstrcatW(cmd_line, trace_setting); + lstrcatW(cmd_line, trace_switch_end); + } + lstrcatW(cmd_line, GetCommandLineW()); TRACE("new command line: %s\n", debugstr_w(cmd_line)); @@ -271,7 +290,7 @@ HRESULT WINAPI GetAssemblyMDImport(LPCWSTR szFileName, REFIID riid, IUnknown **ppIUnk) { - FIXME("(%p %s, %p, %p): stub\n", szFileName, debugstr_w(szFileName), riid, *ppIUnk); + FIXME("(%p %s, %s, %p): stub\n", szFileName, debugstr_w(szFileName), debugstr_guid(riid), *ppIUnk); return ERROR_CALL_NOT_IMPLEMENTED; } @@ -324,6 +343,12 @@ return E_NOTIMPL; } +STDAPI ClrCreateManagedInstance(LPCWSTR pTypeName, REFIID riid, void **ppObject) +{ + FIXME("(%s,%s,%p)\n", debugstr_w(pTypeName), debugstr_guid(riid), ppObject); + return E_NOTIMPL; +} + BOOL WINAPI StrongNameSignatureVerification(LPCWSTR filename, DWORD inFlags, DWORD* pOutFlags) { FIXME("(%s, 0x%X, %p): stub\n", debugstr_w(filename), inFlags, pOutFlags); @@ -338,7 +363,7 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { - FIXME("(%p, %p, %p): stub\n", rclsid, riid, ppv); + FIXME("(%s, %s, %p): stub\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv); if(!ppv) return E_INVALIDARG;
14 years, 8 months
1
0
0
0
[cwittich] 46727: [crypt32] sync crypt32 to wine 1.1.42
by cwittich@svn.reactos.org
Author: cwittich Date: Mon Apr 5 11:29:01 2010 New Revision: 46727 URL:
http://svn.reactos.org/svn/reactos?rev=46727&view=rev
Log: [crypt32] sync crypt32 to wine 1.1.42 Modified: trunk/reactos/dll/win32/crypt32/base64.c Modified: trunk/reactos/dll/win32/crypt32/base64.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/base64.c…
============================================================================== --- trunk/reactos/dll/win32/crypt32/base64.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/crypt32/base64.c [iso-8859-1] Mon Apr 5 11:29:01 2010 @@ -99,8 +99,7 @@ TRACE("bytes is %d, pad bytes is %d\n", bytes, pad_bytes); needed = bytes + pad_bytes + 1; - if (sep) - needed += (needed / 64 + 1) * strlen(sep); + needed += (needed / 64 + 1) * strlen(sep); if (needed > *out_len) { @@ -117,7 +116,7 @@ i = 0; while (div > 0) { - if (sep && i && i % 64 == 0) + if (i && i % 64 == 0) { strcpy(ptr, sep); ptr += strlen(sep); @@ -163,8 +162,7 @@ *ptr++ = '='; break; } - if (sep) - strcpy(ptr, sep); + strcpy(ptr, sep); return ERROR_SUCCESS; } @@ -180,7 +178,7 @@ if (dwFlags & CRYPT_STRING_NOCR) sep = lf; else if (dwFlags & CRYPT_STRING_NOCRLF) - sep = NULL; + sep = ""; else sep = crlf; switch (dwFlags & 0x0fffffff) @@ -204,8 +202,6 @@ charsNeeded = 0; encodeBase64A(pbBinary, cbBinary, sep, NULL, &charsNeeded); - if (sep) - charsNeeded += strlen(sep); if (header) charsNeeded += strlen(header) + strlen(sep); if (trailer) @@ -219,11 +215,8 @@ { strcpy(ptr, header); ptr += strlen(ptr); - if (sep) - { - strcpy(ptr, sep); - ptr += strlen(sep); - } + strcpy(ptr, sep); + ptr += strlen(sep); } encodeBase64A(pbBinary, cbBinary, sep, ptr, &size); ptr += size - 1; @@ -231,11 +224,8 @@ { strcpy(ptr, trailer); ptr += strlen(ptr); - if (sep) - { - strcpy(ptr, sep); - ptr += strlen(sep); - } + strcpy(ptr, sep); + ptr += strlen(sep); } *pcchString = charsNeeded - 1; } @@ -304,8 +294,7 @@ TRACE("bytes is %d, pad bytes is %d\n", bytes, pad_bytes); needed = bytes + pad_bytes + 1; - if (sep) - needed += (needed / 64 + 1) * strlenW(sep); + needed += (needed / 64 + 1) * strlenW(sep); if (needed > *out_len) { @@ -322,7 +311,7 @@ i = 0; while (div > 0) { - if (sep && i && i % 64 == 0) + if (i && i % 64 == 0) { strcpyW(ptr, sep); ptr += strlenW(sep); @@ -368,8 +357,7 @@ *ptr++ = '='; break; } - if (sep) - strcpyW(ptr, sep); + strcpyW(ptr, sep); return ERROR_SUCCESS; } @@ -377,7 +365,7 @@ static BOOL BinaryToBase64W(const BYTE *pbBinary, DWORD cbBinary, DWORD dwFlags, LPWSTR pszString, DWORD *pcchString) { - static const WCHAR crlf[] = { '\r','\n',0 }, lf[] = { '\n',0 }; + static const WCHAR crlf[] = { '\r','\n',0 }, lf[] = { '\n',0 }, empty[] = {0}; BOOL ret = TRUE; LPCWSTR header = NULL, trailer = NULL, sep; DWORD charsNeeded; @@ -385,7 +373,7 @@ if (dwFlags & CRYPT_STRING_NOCR) sep = lf; else if (dwFlags & CRYPT_STRING_NOCRLF) - sep = NULL; + sep = empty; else sep = crlf; switch (dwFlags & 0x0fffffff) @@ -409,8 +397,6 @@ charsNeeded = 0; encodeBase64W(pbBinary, cbBinary, sep, NULL, &charsNeeded); - if (sep) - charsNeeded += strlenW(sep); if (header) charsNeeded += strlenW(header) + strlenW(sep); if (trailer) @@ -424,11 +410,8 @@ { strcpyW(ptr, header); ptr += strlenW(ptr); - if (sep) - { - strcpyW(ptr, sep); - ptr += strlenW(sep); - } + strcpyW(ptr, sep); + ptr += strlenW(sep); } encodeBase64W(pbBinary, cbBinary, sep, ptr, &size); ptr += size - 1; @@ -436,11 +419,8 @@ { strcpyW(ptr, trailer); ptr += strlenW(ptr); - if (sep) - { - strcpyW(ptr, sep); - ptr += strlenW(sep); - } + strcpyW(ptr, sep); + ptr += strlenW(sep); } *pcchString = charsNeeded - 1; }
14 years, 8 months
1
0
0
0
[jgardou] 46726: [WIN32K] Also send message to desktop window with HWND_BROADCAST.
by jgardou@svn.reactos.org
Author: jgardou Date: Mon Apr 5 01:20:02 2010 New Revision: 46726 URL:
http://svn.reactos.org/svn/reactos?rev=46726&view=rev
Log: [WIN32K] Also send message to desktop window with HWND_BROADCAST. Modified: branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c Modified: branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c URL:
http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
============================================================================== --- branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] (original) +++ branches/reactos-yarotows/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] Mon Apr 5 01:20:02 2010 @@ -366,7 +366,7 @@ (LPARAM)Time, sizeof(LPARAM)); } - return 0; + return 0; } else { @@ -591,7 +591,7 @@ *HitTest = HTCLIENT; } - if ( gspv.bMouseClickLock && + if ( gspv.bMouseClickLock && ( (Msg->message == WM_LBUTTONUP) || (Msg->message == WM_LBUTTONDOWN) ) ) { @@ -1206,7 +1206,7 @@ return FALSE; } - if (!Wnd) + if (!Wnd) return UserPostThreadMessage( PtrToInt(PsGetCurrentThreadId()), Msg, wParam, @@ -1223,6 +1223,7 @@ if (List != NULL) { + UserPostMessage(DesktopWindow->hSelf, Msg, wParam, lParam); for (i = 0; List[i]; i++) UserPostMessage(List[i], Msg, wParam, lParam); ExFreePool(List); @@ -1447,6 +1448,9 @@ SetLastWin32Error(ERROR_INTERNAL_ERROR); return 0; } + + /* Send message to the desktop window too! */ + co_IntSendMessageTimeoutSingle(DesktopWindow->hSelf, Msg, wParam, lParam, uFlags, uTimeout, uResult); Children = IntWinListChildren(DesktopWindow); if (NULL == Children) @@ -1653,6 +1657,7 @@ if (List != NULL) { + UserSendNotifyMessage(DesktopWindow->hSelf, Msg, wParam, lParam); for (i = 0; List[i]; i++) { UserSendNotifyMessage(List[i], Msg, wParam, lParam); @@ -2263,7 +2268,7 @@ BOOL Hit = FALSE; MSG SafeMsg; - UserEnterExclusive(); + UserEnterExclusive(); _SEH2_TRY { ProbeForRead(UnsafeMsgInfo, sizeof(MSG), 1); @@ -2275,7 +2280,7 @@ Hit = TRUE; } _SEH2_END; - + if (!Hit) Res = IntDispatchMessage(&SafeMsg); UserLeave(); @@ -2496,11 +2501,11 @@ { BadChk = TRUE; } - _SEH2_END; + _SEH2_END; } break; default: - break; + break; } UserLeave();
14 years, 8 months
1
0
0
0
← Newer
1
...
31
32
33
34
35
36
37
...
44
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Results per page:
10
25
50
100
200