PALETTE_ShareUnlockPalette(ppdev->ppalSurf);
}
- /* Disable PDEV */
- ppdev->pfn.DisablePDEV(ppdev->dhpdev);
+ /* Check if the PDEV was enabled */
+ if (ppdev->dhpdev != NULL)
+ {
+ /* Disable the PDEV */
+ ppdev->pfn.DisablePDEV(ppdev->dhpdev);
+ }
/* Remove it from list */
if( ppdev == gppdevList )
(HDEV)ppdev,
ppdev->pGraphicsDevice->pwszDescription,
ppdev->pGraphicsDevice->DeviceObject);
+ if (ppdev->dhpdev == NULL)
+ {
+ DPRINT1("Failed to enable PDEV\n");
+ return FALSE;
+ }
/* Fix up some values */
if (ppdev->gdiinfo.ulLogPixelsX == 0)
if (!PDEVOBJ_bEnablePDEV(ppdev, pdm, NULL))
{
DPRINT1("Failed to enable PDEV!\n");
- ASSERT(FALSE);
+ PDEVOBJ_vRelease(ppdev);
+ return NULL;
}
/* FIXME: this must be done in a better way */