@@ -4747,7 +4747,6 @@ DF_VIEW_UI_FUNCTION_DEF(Code)
4747
4747
F32 scroll_bar_dim = floor_f32 (ui_top_font_size ()* 1.5f );
4748
4748
Vec2F32 code_area_dim = v2f32 (panel_box_dim .x - scroll_bar_dim , panel_box_dim .y - scroll_bar_dim - bottom_bar_dim .y );
4749
4749
S64 num_possible_visible_lines = (S64 )(code_area_dim .y /code_line_height )+ 1 ;
4750
- B32 is_focused = ui_is_focus_active ();
4751
4750
4752
4751
//////////////////////////////
4753
4752
//- rjf: unpack ctrl ctx & make parse ctx
@@ -5147,7 +5146,7 @@ DF_VIEW_UI_FUNCTION_DEF(Code)
5147
5146
B32 snap [Axis2_COUNT ] = {0 };
5148
5147
UI_Focus (UI_FocusKind_On )
5149
5148
{
5150
- if (txti_buffer_is_ready && ui_is_focus_active ())
5149
+ if (txti_buffer_is_ready && visible_line_num_range . max >= visible_line_num_range . min && ui_is_focus_active ())
5151
5150
{
5152
5151
snap [Axis2_X ] = snap [Axis2_Y ] = df_do_txti_controls (txti_handle , ClampBot (num_possible_visible_lines , 10 ) - 10 , & tv -> cursor , & tv -> mark , & tv -> preferred_column );
5153
5152
}
@@ -6694,7 +6693,6 @@ DF_VIEW_UI_FUNCTION_DEF(Output)
6694
6693
F32 scroll_bar_dim = floor_f32 (ui_top_font_size ()* 1.5f );
6695
6694
Vec2F32 code_area_dim = v2f32 (panel_box_dim .x - scroll_bar_dim , panel_box_dim .y - scroll_bar_dim - bottom_bar_dim .y );
6696
6695
S64 num_possible_visible_lines = (S64 )(code_area_dim .y /code_line_height )+ 1 ;
6697
- B32 is_focused = ui_is_focus_active ();
6698
6696
6699
6697
//////////////////////////////
6700
6698
//- rjf: unpack ctrl ctx & make parse ctx
@@ -6990,9 +6988,12 @@ DF_VIEW_UI_FUNCTION_DEF(Output)
6990
6988
//- rjf: do keyboard interaction
6991
6989
//
6992
6990
B32 snap [Axis2_COUNT ] = {0 };
6993
- if ( txti_buffer_is_ready && is_focused && visible_line_num_range . max > visible_line_num_range . min )
6991
+ UI_Focus ( UI_FocusKind_On )
6994
6992
{
6995
- snap [Axis2_X ] = snap [Axis2_Y ] = df_do_txti_controls (txti_handle , ClampBot (visible_line_count , 10 ) - 10 , & tv -> cursor , & tv -> mark , & tv -> preferred_column );
6993
+ if (txti_buffer_is_ready && visible_line_num_range .max >= visible_line_num_range .min && ui_is_focus_active ())
6994
+ {
6995
+ snap [Axis2_X ] = snap [Axis2_Y ] = df_do_txti_controls (txti_handle , ClampBot (visible_line_count , 10 ) - 10 , & tv -> cursor , & tv -> mark , & tv -> preferred_column );
6996
+ }
6996
6997
}
6997
6998
6998
6999
//////////////////////////////
@@ -7006,7 +7007,7 @@ DF_VIEW_UI_FUNCTION_DEF(Output)
7006
7007
7007
7008
//- rjf: build code slice
7008
7009
DF_CodeSliceSignal sig = {0 };
7009
- UI_Focus (is_focused ? UI_FocusKind_On : UI_FocusKind_Off )
7010
+ UI_Focus (UI_FocusKind_On )
7010
7011
{
7011
7012
sig = df_code_slicef (ws , & ctrl_ctx , & parse_ctx , & code_slice_params , & tv -> cursor , & tv -> mark , & tv -> preferred_column , "txt_view_%p" , view );
7012
7013
}
0 commit comments