diff --git a/src/kits/interface/InterfaceDefs.cpp b/src/kits/interface/InterfaceDefs.cpp index a42e8582b5..6b1383dc49 100644 --- a/src/kits/interface/InterfaceDefs.cpp +++ b/src/kits/interface/InterfaceDefs.cpp @@ -954,12 +954,16 @@ _init_interface_kit_() _init_global_fonts_(); BPrivate::gWidthBuffer = new BPrivate::WidthBuffer; - BPrivate::MenuPrivate::CreateBitmaps(); + status = BPrivate::MenuPrivate::CreateBitmaps(); + if (status != B_OK) + return status; _menu_info_ptr_ = &BMenu::sMenuInfo; status = get_menu_info(&BMenu::sMenuInfo); - + if (status != B_OK) + return status; + general_info.background_color = ui_color(B_PANEL_BACKGROUND_COLOR); general_info.mark_color.set_to(0, 0, 0); general_info.highlight_color = ui_color(B_CONTROL_HIGHLIGHT_COLOR); diff --git a/src/kits/interface/MenuPrivate.cpp b/src/kits/interface/MenuPrivate.cpp index 81b6927f3b..81ec8b6fbf 100644 --- a/src/kits/interface/MenuPrivate.cpp +++ b/src/kits/interface/MenuPrivate.cpp @@ -196,16 +196,19 @@ MenuPrivate::CreateBitmaps() { BRect smallRect(0, 0, 16, 10); BRect largeRect(0, 0, 21, 10); - - gMenuItemAlt = new BBitmap(smallRect, B_CMAP8); - gMenuItemControl = new BBitmap(smallRect, B_CMAP8); - gMenuItemOption = new BBitmap(smallRect, B_CMAP8); - gMenuItemShift = new BBitmap(largeRect, B_CMAP8); + try { + gMenuItemAlt = new BBitmap(smallRect, B_CMAP8); + gMenuItemControl = new BBitmap(smallRect, B_CMAP8); + gMenuItemOption = new BBitmap(smallRect, B_CMAP8); + gMenuItemShift = new BBitmap(largeRect, B_CMAP8); + } catch (...) { + return B_NO_MEMORY; + } gMenuItemAlt->ImportBits(kAltBits, sizeof(kAltBits), 17, 0, B_CMAP8); gMenuItemControl->ImportBits(kCtrlBits, sizeof(kCtrlBits), - 17, 0, B_CMAP8); + 17, 0, B_CMAP8); gMenuItemOption->ImportBits(kOptBits, sizeof(kOptBits), 17, 0, B_CMAP8); gMenuItemShift->ImportBits(kShiftBits, sizeof(kShiftBits),