From 446d046c5e9268ff45674b5888271efddef1f4a1 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sat, 13 Sep 2008 12:28:46 +0000 Subject: [PATCH] CID 325: Be defensive and check the results of the dynamic_casts. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27473 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/kits/game/chart/ChartWindow.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/tests/kits/game/chart/ChartWindow.cpp b/src/tests/kits/game/chart/ChartWindow.cpp index 84175e9263..bbb23d6ef0 100644 --- a/src/tests/kits/game/chart/ChartWindow.cpp +++ b/src/tests/kits/game/chart/ChartWindow.cpp @@ -952,6 +952,9 @@ ChartWindow::MessageReceived(BMessage *message) break; case FULL_SCREEN_MSG : check_box = dynamic_cast(handler); + if (check_box == NULL) + break; + if (check_box->Value()) fNextSettings.fullscreen_mode = FULLSCREEN_MODE; else @@ -968,6 +971,9 @@ ChartWindow::MessageReceived(BMessage *message) break; case SECOND_THREAD_MSG : check_box = dynamic_cast(handler); + if (check_box == NULL) + break; + fNextSettings.second_thread = (check_box->Value()?true:false); break; case COLORS_RED_MSG : @@ -979,6 +985,9 @@ ChartWindow::MessageReceived(BMessage *message) case COLORS_WHITE_MSG : index = message->what - COLORS_RED_MSG; check_box = dynamic_cast(handler); + if (check_box == NULL) + break; + fNextSettings.colors[index] = (check_box->Value()?true:false); break; case SPECIAL_NONE_MSG : @@ -996,10 +1005,16 @@ ChartWindow::MessageReceived(BMessage *message) break; case STAR_DENSITY_MSG : slider = dynamic_cast(handler); + if (slider == NULL) + break; + fNextSettings.star_density = slider->Value(); break; case REFRESH_RATE_MSG : slider = dynamic_cast(handler); + if (slider == NULL) + break; + fNextSettings.refresh_rate = exp(slider->Value()*0.001*(log(REFRESH_RATE_MAX/REFRESH_RATE_MIN)))* REFRESH_RATE_MIN; break;