summaryrefslogtreecommitdiff
path: root/reduced_system_layer.c
diff options
context:
space:
mode:
Diffstat (limited to 'reduced_system_layer.c')
-rwxr-xr-xreduced_system_layer.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/reduced_system_layer.c b/reduced_system_layer.c
index 131ee5c..63f647b 100755
--- a/reduced_system_layer.c
+++ b/reduced_system_layer.c
@@ -161,6 +161,8 @@
#/
#/ (C) 2025 Mitya Selivanov <guattari.tech>
#/
+#/ Any use of this code is prohibited.
+#/
#/ ================================================================
#/
#/ Self-testing shell script
@@ -174,6 +176,9 @@ gcc \
-Wno-missing-braces \
-Wno-old-style-declaration \
-Wno-overlength-strings \
+ -Wno-unused-parameter \
+ -Wno-unused-variable \
+ -Wno-unused-but-set-variable \
-O3 -D NDEBUG \
-fsanitize=undefined,address,leak \
-D REDUCED_SYSTEM_LAYER_TEST_SUITE \
@@ -594,6 +599,7 @@ typedef struct {
b8 num : 1;
b8 scroll : 1;
b8 meta : 1;
+ b8 repeat : 1;
u16 key;
c32 c;
} Input_Key;
@@ -1509,9 +1515,14 @@ void PROFILER_init(u32 slot, c8 *name) {
}
void PROFILER_begin(u32 slot) {
- if ((i64) (u64) slot >= _profiler_num_slots)
+ if ((i64) (u64) slot >= _profiler_num_slots && slot == PROFILE_MEMORY)
return;
+ if ((i64) (u64) slot >= _profiler_num_slots) {
+ LOG_ERROR("Invalid slot: %d", (i32) slot);
+ return;
+ }
+
if (_profiler_slots[slot].count < 0) {
LOG_ERROR("Sanity");
return;
@@ -3533,6 +3544,7 @@ i32 handle_main_window_events(void) {
.num = !!(ev.xkey.state & Mod2Mask),
.scroll = !!(ev.xkey.state & Mod3Mask),
.meta = !!(ev.xkey.state & Mod4Mask),
+ .repeat = _key_repeat[k],
.key = k,
.c = 0,
};
@@ -3548,6 +3560,7 @@ i32 handle_main_window_events(void) {
.num = !!(ev.xkey.state & Mod2Mask),
.scroll = !!(ev.xkey.state & Mod3Mask),
.meta = !!(ev.xkey.state & Mod4Mask),
+ .repeat = _key_repeat[k],
.key = k,
.c = utf8_read(len, buf).code,
};
@@ -3566,6 +3579,7 @@ i32 handle_main_window_events(void) {
g_platform.key_down[MOD_CTRL] = !!(ev.xkey.state & ControlMask);
g_platform.key_down[MOD_SHIFT] = !!(ev.xkey.state & ShiftMask);
+ .repeat = ,
g_platform.key_down[MOD_ALT] = !!(ev.xkey.state & Mod1Mask);
g_platform.key_down[MOD_CAPS] = !!(ev.xkey.state & LockMask);
g_platform.key_down[MOD_NUM] = !!(ev.xkey.state & Mod2Mask);