Make ui_color a little more bulletproof. This will mitigate bug #256 until I can track down the reason (probably in the app_server) that the color request fails
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17069 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -686,67 +686,68 @@ mouse_mode()
|
|||||||
|
|
||||||
_IMPEXP_BE rgb_color
|
_IMPEXP_BE rgb_color
|
||||||
ui_color(color_which which)
|
ui_color(color_which which)
|
||||||
{
|
{
|
||||||
if (!be_app) {
|
if(be_app) {
|
||||||
switch (which) {
|
|
||||||
case B_PANEL_BACKGROUND_COLOR:
|
rgb_color color;
|
||||||
return make_color(216,216,216);
|
BPrivate::AppServerLink link;
|
||||||
case B_PANEL_TEXT_COLOR:
|
link.StartMessage(AS_GET_UI_COLOR);
|
||||||
return make_color(0,0,0);
|
link.Attach<color_which>(which);
|
||||||
case B_DOCUMENT_BACKGROUND_COLOR:
|
|
||||||
return make_color(255,255,255);
|
int32 code;
|
||||||
case B_DOCUMENT_TEXT_COLOR:
|
if (link.FlushWithReply(code) == B_OK && code == B_OK) {
|
||||||
return make_color(0,0,0);
|
link.Read<rgb_color>(&color);
|
||||||
case B_CONTROL_BACKGROUND_COLOR:
|
return color;
|
||||||
return make_color(245,245,245);
|
}
|
||||||
case B_CONTROL_TEXT_COLOR:
|
|
||||||
return make_color(0,0,0);
|
|
||||||
case B_CONTROL_BORDER_COLOR:
|
|
||||||
return make_color(0,0,0);
|
|
||||||
case B_CONTROL_HIGHLIGHT_COLOR:
|
|
||||||
return make_color(102, 152, 203);
|
|
||||||
case B_NAVIGATION_BASE_COLOR:
|
|
||||||
return make_color(0,0,229);
|
|
||||||
case B_NAVIGATION_PULSE_COLOR:
|
|
||||||
return make_color(0,0,0);
|
|
||||||
case B_SHINE_COLOR:
|
|
||||||
return make_color(255,255,255);
|
|
||||||
case B_SHADOW_COLOR:
|
|
||||||
return make_color(0,0,0);
|
|
||||||
case B_MENU_BACKGROUND_COLOR:
|
|
||||||
return make_color(216,216,216);
|
|
||||||
case B_MENU_SELECTED_BACKGROUND_COLOR:
|
|
||||||
return make_color(115,120,184);
|
|
||||||
case B_MENU_ITEM_TEXT_COLOR:
|
|
||||||
return make_color(0,0,0);
|
|
||||||
case B_MENU_SELECTED_BORDER_COLOR:
|
|
||||||
return make_color(0,0,0);
|
|
||||||
case B_TOOLTIP_BACKGROUND_COLOR:
|
|
||||||
return make_color(255,255,0);
|
|
||||||
case B_TOOLTIP_TEXT_COLOR:
|
|
||||||
return make_color(0,0,0);
|
|
||||||
case B_SUCCESS_COLOR:
|
|
||||||
return make_color(0,255,0);
|
|
||||||
case B_FAILURE_COLOR:
|
|
||||||
return make_color(255,0,0);
|
|
||||||
case B_WINDOW_TAB_COLOR:
|
|
||||||
return make_color(255,0,203);
|
|
||||||
default:
|
|
||||||
fprintf(stderr, "ui_color(): unknown color_which %d\n", which);
|
|
||||||
return make_color(0,0,0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rgb_color color;
|
switch (which) {
|
||||||
BPrivate::AppServerLink link;
|
case B_PANEL_BACKGROUND_COLOR:
|
||||||
link.StartMessage(AS_GET_UI_COLOR);
|
return make_color(216,216,216);
|
||||||
link.Attach<color_which>(which);
|
case B_PANEL_TEXT_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
int32 code;
|
case B_DOCUMENT_BACKGROUND_COLOR:
|
||||||
if (link.FlushWithReply(code) == B_OK && code == B_OK)
|
return make_color(255,255,255);
|
||||||
link.Read<rgb_color>(&color);
|
case B_DOCUMENT_TEXT_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
return color;
|
case B_CONTROL_BACKGROUND_COLOR:
|
||||||
|
return make_color(245,245,245);
|
||||||
|
case B_CONTROL_TEXT_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
|
case B_CONTROL_BORDER_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
|
case B_CONTROL_HIGHLIGHT_COLOR:
|
||||||
|
return make_color(102, 152, 203);
|
||||||
|
case B_NAVIGATION_BASE_COLOR:
|
||||||
|
return make_color(0,0,229);
|
||||||
|
case B_NAVIGATION_PULSE_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
|
case B_SHINE_COLOR:
|
||||||
|
return make_color(255,255,255);
|
||||||
|
case B_SHADOW_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
|
case B_MENU_BACKGROUND_COLOR:
|
||||||
|
return make_color(216,216,216);
|
||||||
|
case B_MENU_SELECTED_BACKGROUND_COLOR:
|
||||||
|
return make_color(115,120,184);
|
||||||
|
case B_MENU_ITEM_TEXT_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
|
case B_MENU_SELECTED_BORDER_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
|
case B_TOOLTIP_BACKGROUND_COLOR:
|
||||||
|
return make_color(255,255,0);
|
||||||
|
case B_TOOLTIP_TEXT_COLOR:
|
||||||
|
return make_color(0,0,0);
|
||||||
|
case B_SUCCESS_COLOR:
|
||||||
|
return make_color(0,255,0);
|
||||||
|
case B_FAILURE_COLOR:
|
||||||
|
return make_color(255,0,0);
|
||||||
|
case B_WINDOW_TAB_COLOR:
|
||||||
|
return make_color(255,0,203);
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "ui_color(): unknown color_which %d\n", which);
|
||||||
|
return make_color(0,0,0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user