summaryrefslogtreecommitdiff
path: root/src/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/window.c b/src/window.c
index 6e5fe71..a968eea 100644
--- a/src/window.c
+++ b/src/window.c
@@ -112,12 +112,17 @@ void window_reset_cameras(Window* w, void* state, RenderTargets* restrict target
&targets->buffer_parameters[b_ofst]);
}
+ b_ofst += num_textures + num_renderbuffers;
+ }
+
+ // Reset the cameras in a separate loop, this ensures all potential
+ // texture-names have been assigned, and can now be accessed through the
+ // camera-reset callback, in case some layers depend on others.
+ for (usize i = 0; i < targets->framebuffer_len; i++) {
// Reset camera using callback (if any)
if (targets->camera_reset_callback[i] != NULL) {
- targets->camera_reset_callback[i](targets->cam[i], state, newsz);
+ targets->camera_reset_callback[i](targets->cam[i], state, targets->framebuffer_parameters[i].dimensions);
}
-
- b_ofst += num_textures + num_renderbuffers;
}
}