Merge branch 'master' of github.com:awakecoding/FreeRDP into smartcard
authorMarc-André Moreau <marcandre.moreau@gmail.com>
Wed, 2 Apr 2014 22:27:31 +0000 (18:27 -0400)
committerMarc-André Moreau <marcandre.moreau@gmail.com>
Wed, 2 Apr 2014 22:27:31 +0000 (18:27 -0400)
Conflicts:
channels/smartcard/client/smartcard_main.c

1  2 
channels/rdpdr/client/devman.c
channels/rdpdr/client/irp.c
channels/smartcard/client/smartcard_main.c
channels/smartcard/client/smartcard_main.h
channels/smartcard/client/smartcard_operations.c
winpr/libwinpr/utils/collections/ListDictionary.c

Simple merge
Simple merge
  
  #include "smartcard_main.h"
  
 -static void smartcard_free(DEVICE* dev)
 +static void smartcard_free(DEVICE* device)
  {
 -      IRP* irp;
 -      COMPLETIONIDINFO* CompletionIdInfo;
 -      SMARTCARD_DEVICE* smartcard = (SMARTCARD_DEVICE*) dev;
 +      SMARTCARD_DEVICE* smartcard = (SMARTCARD_DEVICE*) device;
  
-       printf("smartcard_free\n");
 -      SetEvent(smartcard->stopEvent);
 +      MessageQueue_PostQuit(smartcard->IrpQueue, 0);
        WaitForSingleObject(smartcard->thread, INFINITE);
  
 -      while ((irp = (IRP*) InterlockedPopEntrySList(smartcard->pIrpList)) != NULL)
 -              irp->Discard(irp);
 -
 -      _aligned_free(smartcard->pIrpList);
 -
 -      /* Begin TS Client defect workaround. */
 -
 -      while ((CompletionIdInfo = (COMPLETIONIDINFO*) list_dequeue(smartcard->CompletionIds)) != NULL)
 -              free(CompletionIdInfo);
 -
        CloseHandle(smartcard->thread);
 -      CloseHandle(smartcard->irpEvent);
 -      CloseHandle(smartcard->stopEvent);
 -      CloseHandle(smartcard->CompletionIdsMutex);
  
        Stream_Free(smartcard->device.data, TRUE);
 -      list_free(smartcard->CompletionIds);
 -
 -      /* End TS Client defect workaround. */
  
 -      free(dev);
 +      free(device);
  }
  
  static void smartcard_process_irp(SMARTCARD_DEVICE* smartcard, IRP* irp)