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:
X512
2026-01-09 21:30:25 +00:00
committed by Adrien Destugues
parent a9eae2a658
commit 5be8e81fc8
2 changed files with 9 additions and 11 deletions
+5 -7
View File
@@ -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)
+4 -4
View File
@@ -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,