diff --git a/reactos/hal/hal/hal.c b/reactos/hal/hal/hal.c index 16aa80f5d4e..c35c577eae5 100644 --- a/reactos/hal/hal/hal.c +++ b/reactos/hal/hal/hal.c @@ -384,6 +384,8 @@ HalReadDmaCounter( PADAPTER_OBJECT AdapterObject) { UNIMPLEMENTED; + + return 0; } @@ -682,6 +684,8 @@ STDCALL KdPortDisableInterrupts() { UNIMPLEMENTED; + + return FALSE; } @@ -690,6 +694,8 @@ STDCALL KdPortEnableInterrupts() { UNIMPLEMENTED; + + return FALSE; } @@ -709,6 +715,8 @@ KeAcquireSpinLockRaiseToSynch( PKSPIN_LOCK SpinLock) { UNIMPLEMENTED; + + return 0; } diff --git a/reactos/hal/halx86/generic/timer.c b/reactos/hal/halx86/generic/timer.c index da3741a736b..78a2a3d6554 100644 --- a/reactos/hal/halx86/generic/timer.c +++ b/reactos/hal/halx86/generic/timer.c @@ -99,7 +99,7 @@ static BOOLEAN UdelayCalibrated = FALSE; * For supported compilers we use inline assembler. For the others, * portable plain C. */ -VOID STDCALL +VOID STDCALL __attribute__((noinline)) __KeStallExecutionProcessor(ULONG Loops) { if (!Loops) diff --git a/reactos/ntoskrnl/cc/cacheman.c b/reactos/ntoskrnl/cc/cacheman.c index b95459f979f..945d0e03921 100644 --- a/reactos/ntoskrnl/cc/cacheman.c +++ b/reactos/ntoskrnl/cc/cacheman.c @@ -1,4 +1,4 @@ -/* $Id:$ +/* $Id$ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -49,6 +49,8 @@ CcRemapBcb ( ) { UNIMPLEMENTED; + + return 0; } /* diff --git a/reactos/ntoskrnl/ex/time.c b/reactos/ntoskrnl/ex/time.c index 9e5965893a4..93cc43f5124 100644 --- a/reactos/ntoskrnl/ex/time.c +++ b/reactos/ntoskrnl/ex/time.c @@ -290,6 +290,8 @@ ExSetTimerResolution ( ) { UNIMPLEMENTED; + + return 0; } diff --git a/reactos/subsys/win32k/eng/mouse.c b/reactos/subsys/win32k/eng/mouse.c index 57c7c7d1801..6d540c5ca04 100644 --- a/reactos/subsys/win32k/eng/mouse.c +++ b/reactos/subsys/win32k/eng/mouse.c @@ -243,7 +243,7 @@ IntShowMousePointer(GDIDEVICE *ppdev, SURFOBJ *DestSurface) RECTL DestRect; POINTL SrcPoint; SURFOBJ *ColorSurf; - SURFOBJ *MaskSurf; + SURFOBJ *MaskSurf = NULL; DestRect.left = max(pt.x, 0); DestRect.top = max(pt.y, 0); @@ -257,7 +257,9 @@ IntShowMousePointer(GDIDEVICE *ppdev, SURFOBJ *DestSurface) SrcPoint.x = max(-pt.x, 0); SrcPoint.y = max(-pt.y, 0); - MaskSurf = EngLockSurface(pgp->MaskSurface); + if (pgp->MaskSurface) + MaskSurf = EngLockSurface(pgp->MaskSurface); + if (MaskSurf != NULL) { if (pgp->ColorSurface != NULL) diff --git a/reactos/subsys/win32k/ntuser/winsta.c b/reactos/subsys/win32k/ntuser/winsta.c index 76755d5ff30..d55f6275e36 100644 --- a/reactos/subsys/win32k/ntuser/winsta.c +++ b/reactos/subsys/win32k/ntuser/winsta.c @@ -199,6 +199,9 @@ IntInitializeDesktopGraphics(VOID) NtUserAcquireOrReleaseInputOwnership(FALSE); + /* Setup the cursor */ + IntLoadDefaultCursors(); + return TRUE; } diff --git a/reactos/subsys/win32k/objects/dc.c b/reactos/subsys/win32k/objects/dc.c index ad19cee6efd..5ef2813bf1e 100644 --- a/reactos/subsys/win32k/objects/dc.c +++ b/reactos/subsys/win32k/objects/dc.c @@ -664,6 +664,11 @@ IntCreatePrimarySurface() SurfaceRect.bottom = SurfObj->sizlBitmap.cy; /* FIXME - why does EngEraseSurface() sometimes crash? EngEraseSurface(SurfObj, &SurfaceRect, 0); */ + + /* Put the pointer in the center of the screen */ + GDIDEV(SurfObj)->Pointer.Pos.x = (SurfaceRect.right - SurfaceRect.left) / 2; + GDIDEV(SurfObj)->Pointer.Pos.y = (SurfaceRect.bottom - SurfaceRect.top) / 2; + EngUnlockSurface(SurfObj); IntShowDesktop(IntGetActiveDesktop(), SurfSize.cx, SurfSize.cy); break;