diff --git a/src/kits/interface/Font.cpp b/src/kits/interface/Font.cpp index 586ea450d1..f775dd52f1 100644 --- a/src/kits/interface/Font.cpp +++ b/src/kits/interface/Font.cpp @@ -779,15 +779,15 @@ BFont::TruncateString(BString *inOut, uint32 mode, float width) const link.StartMessage(AS_GET_TRUNCATED_STRINGS); - if(code!=SERVER_TRUE) - return; - link.Attach(mode); link.Attach(width); link.Attach(1); link.AttachString(inOut->String()); link.FlushWithReply(&code); + if(code!=SERVER_TRUE) + return; + char *string; link.ReadString(&string); *inOut=string; @@ -808,9 +808,6 @@ BFont::GetTruncatedStrings(const char *stringArray[], int32 numStrings, link.StartMessage(AS_GET_TRUNCATED_STRINGS); - if(code!=SERVER_TRUE) - return; - link.Attach(mode); link.Attach(width); link.Attach(numStrings); @@ -820,6 +817,9 @@ BFont::GetTruncatedStrings(const char *stringArray[], int32 numStrings, link.FlushWithReply(&code); + if(code!=SERVER_TRUE) + return; + for(int32 i=0; i(mode); link.Attach(width); link.Attach(numStrings); @@ -854,6 +851,9 @@ BFont::GetTruncatedStrings(const char *stringArray[], int32 numStrings, link.FlushWithReply(&code); + if(code!=SERVER_TRUE) + return; + // TODO: Look into a possible BPortLink::ReadIntoString() method to speed things // like this up, along with the other string truncation functions for(int32 i=0; i(numStrings); for(int32 i=0; i(&widthArray[i]); } @@ -965,8 +965,6 @@ BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta * BPrivate::BAppServerLink link; link.StartMessage(AS_GET_ESCAPEMENTS); - if(code!=SERVER_TRUE) - return; link.Attach(numChars); @@ -990,6 +988,9 @@ BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta * } link.FlushWithReply(&code); + if(code!=SERVER_TRUE) + return; + for(int32 i=0; i(&escapementArray[i]); } @@ -1006,9 +1007,6 @@ BFont::GetEdges(const char charArray[], int32 numBytes, edge_info edgeArray[]) c link.StartMessage(AS_GET_EDGES); - if(code!=SERVER_TRUE) - return; - link.Attach(numBytes); for(int32 i=0; i(&edgeArray[i]); } @@ -1064,9 +1065,6 @@ BFont::GetBoundingBoxesAsString(const char charArray[], int32 numChars, font_met link.StartMessage(AS_GET_BOUNDINGBOXES_CHARS); - if(code!=SERVER_TRUE) - return; - link.Attach(mode); if(delta) @@ -1086,6 +1084,9 @@ BFont::GetBoundingBoxesAsString(const char charArray[], int32 numChars, font_met link.FlushWithReply(&code); + if(code!=SERVER_TRUE) + return; + for(int32 i=0; i(&boundingBoxArray[i]); } @@ -1103,9 +1104,6 @@ BFont::GetBoundingBoxesForStrings(const char *stringArray[], int32 numStrings, link.StartMessage(AS_GET_BOUNDINGBOXES_STRINGS); - if(code!=SERVER_TRUE) - return; - link.Attach(mode); link.Attach(numStrings); @@ -1129,6 +1127,9 @@ BFont::GetBoundingBoxesForStrings(const char *stringArray[], int32 numStrings, } link.FlushWithReply(&code); + if(code!=SERVER_TRUE) + return; + for(int32 i=0; i(&boundingBoxArray[i]); } @@ -1138,7 +1139,6 @@ void BFont::GetGlyphShapes(const char charArray[], int32 numChars, BShape *glyphShapeArray[]) const { // TODO: implement code specifically for passing BShapes to and from the server - if(!charArray || numChars<1 || !glyphShapeArray) return; @@ -1147,9 +1147,6 @@ BFont::GetGlyphShapes(const char charArray[], int32 numChars, BShape *glyphShape link.StartMessage(AS_GET_GLYPH_SHAPES); - if(code!=SERVER_TRUE) - return; - link.Attach(numChars); for(int32 i=0; i(numChars); for(int32 i=0; i(&hasArray[i]); } diff --git a/src/kits/interface/InterfaceDefs.cpp b/src/kits/interface/InterfaceDefs.cpp index a3cd17d16d..8d344f918f 100644 --- a/src/kits/interface/InterfaceDefs.cpp +++ b/src/kits/interface/InterfaceDefs.cpp @@ -83,9 +83,10 @@ get_scroll_bar_info(scroll_bar_info *info) int32 code; link.StartMessage(AS_GET_SCROLLBAR_INFO); link.FlushWithReply(&code); - link.Read(info); + if(code==SERVER_TRUE) + link.Read(info); - return B_OK; + return ((code==SERVER_TRUE)?B_OK:B_ERROR); } @@ -101,7 +102,7 @@ set_scroll_bar_info(scroll_bar_info *info) link.StartMessage(AS_SET_SCROLLBAR_INFO); link.Attach(*info); link.FlushWithReply(&code); - return B_OK; + return ((code==SERVER_TRUE)?B_OK:B_ERROR); } #endif // COMPILE_FOR_R5 @@ -419,13 +420,14 @@ keyboard_navigation_color() _IMPEXP_BE int32 count_workspaces() { - int32 count; + int32 count=1; BAppServerLink link; int32 code; link.StartMessage(AS_COUNT_WORKSPACES); link.FlushWithReply(&code); - link.Read(&count); + if(code==SERVER_TRUE) + link.Read(&count); return count; } @@ -443,13 +445,14 @@ set_workspace_count(int32 count) _IMPEXP_BE int32 current_workspace() { - int32 index; + int32 index = 1; BAppServerLink link; int32 code; link.StartMessage(AS_CURRENT_WORKSPACE); link.FlushWithReply(&code); - link.Read(&index); + if(code==SERVER_TRUE) + link.Read(&index); return index; } @@ -468,13 +471,14 @@ activate_workspace(int32 workspace) _IMPEXP_BE bigtime_t idle_time() { - bigtime_t idletime; + bigtime_t idletime = 0; BAppServerLink link; int32 code; link.StartMessage(AS_IDLE_TIME); link.FlushWithReply(&code); - link.Read(&idletime); + if(code==SERVER_TRUE) + link.Read(&idletime); return idletime; } @@ -518,13 +522,14 @@ set_focus_follows_mouse(bool follow) _IMPEXP_BE bool focus_follows_mouse() { - bool ffm; + bool ffm = false; BAppServerLink link; int32 code; link.StartMessage(AS_FOCUS_FOLLOWS_MOUSE); link.FlushWithReply(&code); - link.Read(&ffm); + if(code==SERVER_TRUE) + link.Read(&ffm); return ffm; } @@ -548,7 +553,8 @@ mouse_mode() int32 code; link.StartMessage(AS_GET_MOUSE_MODE); link.FlushWithReply(&code); - link.Read(&mode); + if(code==SERVER_TRUE) + link.Read(&mode); return mode; }