diff -r e24348a560a6 -r b72c6db6890b src/gui/widgets/qmenu.cpp --- a/src/gui/widgets/qmenu.cpp Fri Jun 11 14:24:45 2010 +0300 +++ b/src/gui/widgets/qmenu.cpp Wed Jun 23 19:07:03 2010 +0300 @@ -992,19 +992,9 @@ return false; } -class ExceptionGuard -{ -public: - inline ExceptionGuard(bool *w = 0) : watched(w) { Q_ASSERT(!(*watched)); *watched = true; } - inline ~ExceptionGuard() { *watched = false; } - inline operator bool() { return *watched; } -private: - bool *watched; -}; - void QMenuPrivate::activateCausedStack(const QList > &causedStack, QAction *action, QAction::ActionEvent action_e, bool self) { - ExceptionGuard guard(&activationRecursionGuard); + QBoolBlocker guard(activationRecursionGuard); #ifdef QT3_SUPPORT const int actionId = q_func()->findIdForAction(action); #endif