dont assume valid slice from process memory cache grab

This commit is contained in:
Ryan Fleury
2024-01-27 10:46:41 -08:00
parent 967936cef6
commit 28e258b5dc
2 changed files with 9 additions and 6 deletions
+2 -2
View File
@@ -6203,9 +6203,9 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
if(box->squish != 0)
{
Vec2F32 box_dim = dim_2f32(box->rect);
Mat3x3F32 box2origin_xform = make_translate_3x3f32(v2f32(-box->rect.x0 - box_dim.x/2, -box->rect.y0));
Mat3x3F32 box2origin_xform = make_translate_3x3f32(v2f32(-box->rect.x0 - box_dim.x/8, -box->rect.y0));
Mat3x3F32 scale_xform = make_scale_3x3f32(v2f32(1-box->squish, 1-box->squish));
Mat3x3F32 origin2box_xform = make_translate_3x3f32(v2f32(box->rect.x0 + box_dim.x/2, box->rect.y0));
Mat3x3F32 origin2box_xform = make_translate_3x3f32(v2f32(box->rect.x0 + box_dim.x/8, box->rect.y0));
Mat3x3F32 xform = mul_3x3f32(origin2box_xform, mul_3x3f32(scale_xform, box2origin_xform));
d_push_xform2d(xform);
}
+7 -4
View File
@@ -987,12 +987,15 @@ df_eval_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_EvalW
size = Min(size, 64);
Rng1U64 vaddr_rng = r1u64(row->eval.offset, row->eval.offset+size);
CTRL_ProcessMemorySlice slice = ctrl_query_cached_data_from_process_vaddr_range(scratch.arena, process->ctrl_machine_id, process->ctrl_handle, vaddr_rng);
for(U64 idx = 0; idx < (size+63)/64; idx += 1)
if(slice.byte_changed_flags != 0)
{
if(slice.byte_changed_flags[idx] != 0)
for(U64 idx = 0; idx < (size+63)/64; idx += 1)
{
row_is_fresh = 1;
break;
if(slice.byte_changed_flags[idx] != 0)
{
row_is_fresh = 1;
break;
}
}
}
}break;