diff options
Diffstat (limited to 'libjava/stacktrace.cc')
-rw-r--r-- | libjava/stacktrace.cc | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc index 6484dc6..583b11a 100644 --- a/libjava/stacktrace.cc +++ b/libjava/stacktrace.cc @@ -464,19 +464,17 @@ _Jv_StackTrace::GetClassContext (jclass checkClass) _Jv_StackFrame *frame = &state.frames[i]; FillInFrameInfo (frame); - if (seen_checkClass - && frame->klass - && frame->klass != checkClass) + if (seen_checkClass) { - jframe_count++; - if (start_pos == -1) - start_pos = i; + if (frame->klass) + { + jframe_count++; + if (start_pos == -1) + start_pos = i; + } } - - if (!seen_checkClass - && frame->klass - && frame->klass == checkClass) - seen_checkClass = true; + else + seen_checkClass = frame->klass == checkClass; } result = (JArray<jclass> *) _Jv_NewObjectArray (jframe_count, &Class::class$, NULL); int pos = 0; |