diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c index 48b2f789bc3..465349cace9 100644 --- a/dlls/gdi32/dc.c +++ b/dlls/gdi32/dc.c @@ -752,11 +752,9 @@ HDC WINAPI CreateCompatibleDC( HDC hdc ) if (hdc) { if (!(origDC = get_dc_ptr( hdc ))) return 0; - if (GetObjectType( hdc ) == OBJ_DC) - { - physDev = origDC->physDev; - funcs = physDev->funcs; - } + physDev = GET_DC_PHYSDEV( origDC, pCreateDC ); + if (physDev != &origDC->nulldrv) funcs = physDev->funcs; + else physDev = NULL; release_dc_ptr( origDC ); }