mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 13:28:40 +00:00
fix backslash escaping rules in cfg serialization; fix small scrolling (e.g. from trackpad) often being truncated to having no effect; fixed hanging when set-thread-name specifies a non-readable address
This commit is contained in:
@@ -2136,6 +2136,10 @@ dmn_ctrl_run(Arena *arena, DMN_CtrlCtx *ctx, DMN_RunCtrls *ctrls)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
read_addr += 256;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
e->kind = DMN_EventKind_SetThreadName;
|
e->kind = DMN_EventKind_SetThreadName;
|
||||||
|
|||||||
@@ -5738,7 +5738,7 @@ df_cfg_escaped_from_raw_string(Arena *arena, String8 string)
|
|||||||
for(U64 idx = 0; idx <= string.size; idx += 1)
|
for(U64 idx = 0; idx <= string.size; idx += 1)
|
||||||
{
|
{
|
||||||
U8 byte = (idx < string.size ? string.str[idx] : 0);
|
U8 byte = (idx < string.size ? string.str[idx] : 0);
|
||||||
if(byte == 0 || byte == '\"')
|
if(byte == 0 || byte == '\"' || byte == '\\')
|
||||||
{
|
{
|
||||||
String8 part = str8_substr(string, r1u64(split_start_idx, idx));
|
String8 part = str8_substr(string, r1u64(split_start_idx, idx));
|
||||||
str8_list_push(scratch.arena, &parts, part);
|
str8_list_push(scratch.arena, &parts, part);
|
||||||
@@ -5746,6 +5746,7 @@ df_cfg_escaped_from_raw_string(Arena *arena, String8 string)
|
|||||||
{
|
{
|
||||||
default:{}break;
|
default:{}break;
|
||||||
case '\"':{str8_list_push(scratch.arena, &parts, str8_lit("\\\""));}break;
|
case '\"':{str8_list_push(scratch.arena, &parts, str8_lit("\\\""));}break;
|
||||||
|
case '\\':{str8_list_push(scratch.arena, &parts, str8_lit("\\\\"));}break;
|
||||||
}
|
}
|
||||||
split_start_idx = idx+1;
|
split_start_idx = idx+1;
|
||||||
}
|
}
|
||||||
@@ -5775,7 +5776,8 @@ df_cfg_raw_from_escaped_string(Arena *arena, String8 string)
|
|||||||
switch(string.str[idx+1])
|
switch(string.str[idx+1])
|
||||||
{
|
{
|
||||||
default:{}break;
|
default:{}break;
|
||||||
case '"':{extra_advance = 1; str8_list_push(scratch.arena, &parts, str8_lit("\""));}break;
|
case '"': {extra_advance = 1; str8_list_push(scratch.arena, &parts, str8_lit("\""));}break;
|
||||||
|
case '\\':{extra_advance = 1; str8_list_push(scratch.arena, &parts, str8_lit("\\"));}break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
split_start_idx = idx+1+extra_advance;
|
split_start_idx = idx+1+extra_advance;
|
||||||
|
|||||||
+7
-2
@@ -2525,8 +2525,13 @@ ui_signal_from_box(UI_Box *box)
|
|||||||
{
|
{
|
||||||
Swap(F32, delta.x, delta.y);
|
Swap(F32, delta.x, delta.y);
|
||||||
}
|
}
|
||||||
sig.scroll.x += (S16)(delta.x/30.f);
|
Vec2S16 delta16 = v2s16((S16)(delta.x/30.f), (S16)(delta.y/30.f));
|
||||||
sig.scroll.y += (S16)(delta.y/30.f);
|
if(delta.x > 0 && delta16.x == 0) { delta16.x = +1; }
|
||||||
|
if(delta.x < 0 && delta16.x == 0) { delta16.x = -1; }
|
||||||
|
if(delta.y > 0 && delta16.y == 0) { delta16.y = +1; }
|
||||||
|
if(delta.y < 0 && delta16.y == 0) { delta16.y = -1; }
|
||||||
|
sig.scroll.x += delta16.x;
|
||||||
|
sig.scroll.y += delta16.y;
|
||||||
taken = 1;
|
taken = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user