app_server/AS_GET_BOUNDINGBOXES_STRINGS: store each array independently
Do not use array interleaving. It is more consistent and removes special case for protocol definition driven inspection tools. Change-Id: I5034e344c2c8611d21f8809dd67acc4864dd1d3e Reviewed-on: https://review.haiku-os.org/c/haiku/+/10214 Reviewed-by: waddlesplash <[email protected]> Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
@@ -1290,18 +1290,16 @@ BFont::GetBoundingBoxesForStrings(const char* stringArray[], int32 numStrings,
|
||||
link.Attach<font_metric_mode>(mode);
|
||||
link.Attach<int32>(numStrings);
|
||||
|
||||
for (int32 i = 0; i < numStrings; i++)
|
||||
link.AttachString(stringArray[i]);
|
||||
|
||||
if (deltas) {
|
||||
for (int32 i = 0; i < numStrings; i++) {
|
||||
link.AttachString(stringArray[i]);
|
||||
for (int32 i = 0; i < numStrings; i++)
|
||||
link.Attach<escapement_delta>(deltas[i]);
|
||||
}
|
||||
} else {
|
||||
escapement_delta emptyDelta = {0, 0};
|
||||
|
||||
for (int32 i = 0; i < numStrings; i++) {
|
||||
link.AttachString(stringArray[i]);
|
||||
for (int32 i = 0; i < numStrings; i++)
|
||||
link.Attach<escapement_delta>(emptyDelta);
|
||||
}
|
||||
}
|
||||
|
||||
if (link.FlushWithReply(code) != B_OK || code != B_OK)
|
||||
|
||||
@@ -2867,9 +2867,8 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver& link)
|
||||
// 8) uint32 - flags
|
||||
// 9) font_metric_mode - mode
|
||||
// 10) int32 numStrings
|
||||
// 11) escapement_delta - additional delta (numStrings times)
|
||||
// 12) int32 string length to measure (numStrings times)
|
||||
// 13) string - string (numStrings times)
|
||||
// 11) string - string (numStrings times)
|
||||
// 12) escapement_delta - additional delta (numStrings times)
|
||||
|
||||
// Returns:
|
||||
// 1) BRect - rects with numStrings entries
|
||||
@@ -2908,8 +2907,9 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver& link)
|
||||
// This version of ReadString allocates the strings, we free
|
||||
// them below
|
||||
link.ReadString(&stringArray[i], &lengthArray[i]);
|
||||
link.Read<escapement_delta>(&deltaArray[i]);
|
||||
}
|
||||
for (int32 i = 0; i < numStrings; i++)
|
||||
link.Read<escapement_delta>(&deltaArray[i]);
|
||||
|
||||
ServerFont font;
|
||||
status_t status = font.SetFamilyAndStyle(familyID, styleID,
|
||||
|
||||
Reference in New Issue
Block a user