@@ -589,26 +589,7 @@ def add_dialog_proc(name, p, context = nil)
589
589
end
590
590
dialog . set_cursor_pos ( cursor_column , @first_line_started_from + @started_from )
591
591
dialog_render_info = dialog . call
592
- old_dialog = dialog . clone
593
- if dialog_render_info and dialog_render_info . contents and not dialog_render_info . contents . empty?
594
- dialog . width = dialog_render_info . width if dialog_render_info . width
595
- height = dialog_render_info . height || DIALOG_HEIGHT
596
- pointer = dialog_render_info . pointer
597
- dialog . contents = dialog_render_info . contents
598
- if dialog . contents . size > height
599
- if dialog_render_info . pointer
600
- if dialog_render_info . pointer < 0
601
- dialog . scroll_top = 0
602
- elsif ( dialog_render_info . pointer - dialog . scroll_top ) >= ( height - 1 )
603
- dialog . scroll_top = dialog_render_info . pointer - ( height - 1 )
604
- elsif ( dialog_render_info . pointer - dialog . scroll_top ) < 0
605
- dialog . scroll_top = dialog_render_info . pointer
606
- end
607
- pointer = dialog_render_info . pointer - dialog . scroll_top
608
- end
609
- dialog . contents = dialog . contents [ dialog . scroll_top , height ]
610
- end
611
- else
592
+ if dialog_render_info . nil? or dialog_render_info . contents . nil? or dialog_render_info . contents . empty?
612
593
dialog . lines_backup = {
613
594
lines : modify_lines ( whole_lines ) ,
614
595
line_index : @line_index ,
@@ -620,6 +601,24 @@ def add_dialog_proc(name, p, context = nil)
620
601
dialog . contents = nil
621
602
return
622
603
end
604
+ old_dialog = dialog . clone
605
+ dialog . width = dialog_render_info . width if dialog_render_info . width
606
+ height = dialog_render_info . height || DIALOG_HEIGHT
607
+ pointer = dialog_render_info . pointer
608
+ dialog . contents = dialog_render_info . contents
609
+ if dialog . contents . size > height
610
+ if dialog_render_info . pointer
611
+ if dialog_render_info . pointer < 0
612
+ dialog . scroll_top = 0
613
+ elsif ( dialog_render_info . pointer - dialog . scroll_top ) >= ( height - 1 )
614
+ dialog . scroll_top = dialog_render_info . pointer - ( height - 1 )
615
+ elsif ( dialog_render_info . pointer - dialog . scroll_top ) < 0
616
+ dialog . scroll_top = dialog_render_info . pointer
617
+ end
618
+ pointer = dialog_render_info . pointer - dialog . scroll_top
619
+ end
620
+ dialog . contents = dialog . contents [ dialog . scroll_top , height ]
621
+ end
623
622
upper_space = @first_line_started_from - @started_from
624
623
lower_space = @highest_in_all - @first_line_started_from - @started_from - 1
625
624
dialog . column = dialog_render_info . pos . x
0 commit comments