Skip to content

Commit dd01fc9

Browse files
authored
Merge pull request #7223 from jepler/issue7222
supervisor_start_terminal: don't crash if display is tiny
2 parents be53193 + b0d0fcb commit dd01fc9

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

supervisor/shared/display.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,8 @@ void supervisor_start_terminal(uint16_t width_px, uint16_t height_px) {
7474
scale = 1;
7575
}
7676

77-
width_in_tiles = width_px / (scroll_area->tile_width * scale);
78-
if (width_in_tiles < 1) {
79-
width_in_tiles = 1;
80-
}
81-
uint16_t height_in_tiles = height_px / (scroll_area->tile_height * scale);
77+
width_in_tiles = MAX(1, width_px / (scroll_area->tile_width * scale));
78+
uint16_t height_in_tiles = MAX(2, height_px / (scroll_area->tile_height * scale));
8279

8380
uint16_t total_tiles = width_in_tiles * height_in_tiles;
8481

@@ -117,7 +114,6 @@ void supervisor_start_terminal(uint16_t width_px, uint16_t height_px) {
117114
status_bar->top_left_y = 0;
118115
status_bar->width_in_tiles = width_in_tiles;
119116
status_bar->height_in_tiles = 1;
120-
assert(width_in_tiles > 0);
121117
status_bar->pixel_width = width_in_tiles * status_bar->tile_width;
122118
status_bar->pixel_height = status_bar->tile_height;
123119
status_bar->tiles = tiles;
@@ -127,8 +123,6 @@ void supervisor_start_terminal(uint16_t width_px, uint16_t height_px) {
127123
scroll_area->top_left_y = 0;
128124
scroll_area->width_in_tiles = width_in_tiles;
129125
scroll_area->height_in_tiles = height_in_tiles - 1;
130-
assert(width_in_tiles > 0);
131-
assert(height_in_tiles > 1);
132126
scroll_area->pixel_width = width_in_tiles * scroll_area->tile_width;
133127
scroll_area->pixel_height = (height_in_tiles - 1) * scroll_area->tile_height;
134128
#if CIRCUITPY_REPL_LOGO

0 commit comments

Comments
 (0)