diff --git a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp index 06a5e35089..d3189e85a4 100644 --- a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp +++ b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp @@ -2839,7 +2839,14 @@ VariablesView::_AddExpressionNode(ExpressionInfo* info) void VariablesView::_RestoreExpressionNodes() { - FunctionID* id = fStackFrame->Function()->GetFunctionID(); + FunctionInstance* instance = fStackFrame->Function(); + if (instance == NULL) + return; + + FunctionID* id = instance->GetFunctionID(); + if (id == NULL) + return; + BReference idReference(id, true); ExpressionInfoEntry* entry = fExpressions->Lookup(FunctionKey(id)); @@ -2858,7 +2865,14 @@ void VariablesView::_SetExpressionNodeValue(ExpressionInfo* info, status_t result, Value* value) { - FunctionID* id = fStackFrame->Function()->GetFunctionID(); + FunctionInstance* instance = fStackFrame->Function(); + if (instance == NULL) + return; + + FunctionID* id = instance->GetFunctionID(); + if (id == NULL) + return; + BReference idReference(id, true); ExpressionInfoEntry* entry = fExpressions->Lookup(FunctionKey(id));