base/applications/screensavers/3dtext/3dtext.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/base/applications/screensavers/3dtext/3dtext.c b/base/applications/screensavers/3dtext/3dtext.c index a64e3252ec..bf177a9cb2 100644 --- a/base/applications/screensavers/3dtext/3dtext.c +++ b/base/applications/screensavers/3dtext/3dtext.c @@ -257,6 +257,7 @@ ScreenSaverProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { RECT Screen; // Used Later On To Get The Size Of The Window GLuint PixelFormat; // Pixel Format Storage + static UINT uTimer; // timer identifier static PIXELFORMATDESCRIPTOR pfd= // Pixel Format Descriptor { sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor @@ -338,6 +339,8 @@ ScreenSaverProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) // Initialize The GL Screen Using Screen Info InitGL(Screen.right, Screen.bottom); + + uTimer = SetTimer(hWnd, 1, 40, NULL); break; case WM_DESTROY: @@ -355,9 +358,12 @@ ScreenSaverProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) // Free The DC ReleaseDC(hWnd, hDC); + + if (uTimer) + KillTimer(hWnd, uTimer); break; - case WM_PAINT: + case WM_TIMER: DrawGLScene(); SwapBuffers(hDC); break;