diff --git a/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp b/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp index bc00aaeb81..563f0611c2 100644 --- a/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp +++ b/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp @@ -1,6 +1,6 @@ /* * Copyright 2009-2012, Ingo Weinhold, ingo_weinhold@gmx.de. - * Copyright 2010-2012, Rene Gollent, rene@gollent.com. + * Copyright 2010-2013, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ @@ -31,6 +31,7 @@ #include "Breakpoint.h" #include "CpuState.h" #include "DisassembledCode.h" +#include "ExceptionConfigWindow.h" #include "FileSourceCode.h" #include "GuiSettingsUtils.h" #include "GuiTeamUiSettings.h" @@ -115,6 +116,7 @@ TeamWindow::TeamWindow(::Team* team, UserInterfaceListener* listener) fStepOverButton(NULL), fStepIntoButton(NULL), fStepOutButton(NULL), + fExceptionConfigWindow(NULL), fInspectorWindow(NULL), fFilePanel(NULL) { @@ -301,6 +303,27 @@ TeamWindow::MessageReceived(BMessage* message) break; } + case MSG_SHOW_EXCEPTION_CONFIG_WINDOW: + { + if (fExceptionConfigWindow) { + fExceptionConfigWindow->Activate(true); + } else { + try { + fExceptionConfigWindow = ExceptionConfigWindow::Create( + fTeam, fListener, this); + if (fExceptionConfigWindow != NULL) + fExceptionConfigWindow->Show(); + } catch (...) { + // TODO: notify user + } + } + break; + } + case MSG_EXCEPTION_CONFIG_WINDOW_CLOSED: + { + fExceptionConfigWindow = NULL; + break; + } case MSG_SHOW_WATCH_VARIABLE_PROMPT: { target_addr_t address; diff --git a/src/apps/debugger/user_interface/gui/team_window/TeamWindow.h b/src/apps/debugger/user_interface/gui/team_window/TeamWindow.h index 810d975105..7ccb5af0ab 100644 --- a/src/apps/debugger/user_interface/gui/team_window/TeamWindow.h +++ b/src/apps/debugger/user_interface/gui/team_window/TeamWindow.h @@ -29,6 +29,7 @@ class BMenuBar; class BSplitView; class BStringView; class BTabView; +class ExceptionConfigWindow; class Image; class InspectorWindow; class RegistersView; @@ -195,6 +196,7 @@ private: BSplitView* fSourceSplitView; BSplitView* fImageSplitView; BSplitView* fThreadSplitView; + ExceptionConfigWindow* fExceptionConfigWindow; InspectorWindow* fInspectorWindow; GuiTeamUiSettings fUiSettings; BFilePanel* fFilePanel;