From f735ce7d79f625c3f747a5e5920bd1258d9070a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 13 Apr 2010 12:23:01 +0000 Subject: [PATCH] * Make sure Shutdown() can be called more than once (ie. reset the members as needed). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36210 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../app/drawing/AccelerantHWInterface.cpp | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/servers/app/drawing/AccelerantHWInterface.cpp b/src/servers/app/drawing/AccelerantHWInterface.cpp index a323fe6f1d..f119c0b79a 100644 --- a/src/servers/app/drawing/AccelerantHWInterface.cpp +++ b/src/servers/app/drawing/AccelerantHWInterface.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2001-2009, Haiku. + * Copyright 2001-2010, Haiku. * Distributed under the terms of the MIT License. * * Authors: @@ -9,6 +9,7 @@ * Axel Dörfler, axeld@pinc-software.de */ + /*! Accelerant based HWInterface implementation */ @@ -400,18 +401,24 @@ AccelerantHWInterface::_SetupDefaultHooks() status_t AccelerantHWInterface::Shutdown() { - if (fAccelerantHook) { - uninit_accelerant UninitAccelerant + if (fAccelerantHook != NULL) { + uninit_accelerant uninitAccelerant = (uninit_accelerant)fAccelerantHook(B_UNINIT_ACCELERANT, NULL); - if (UninitAccelerant) - UninitAccelerant(); + if (uninitAccelerant != NULL) + uninitAccelerant(); + + fAccelerantHook = NULL; } - if (fAccelerantImage >= 0) + if (fAccelerantImage >= 0) { unload_add_on(fAccelerantImage); + fAccelerantImage = -1; + } - if (fCardFD >= 0) + if (fCardFD >= 0) { close(fCardFD); + fCardFD = -1; + } return B_OK; }