diff options
-rw-r--r-- | main.F90 | 16 | ||||
-rw-r--r-- | render.f90 | 2 |
2 files changed, 12 insertions, 6 deletions
@@ -68,7 +68,7 @@ implicit none do while(running) if(index(current_url, "gemini://") /= 1) then - call r%draw_error("Only gemini:// URLs are supported") + call r%draw_error("Only gemini:// URLs supported ("//trim(current_url)//")") populated = .false. loaded = .true. return_code = STATUS_LOCALFAIL @@ -129,12 +129,16 @@ implicit none case (render_action_back) call back_location(locations_visited, current_url) - call free_lines(first_line) + if(associated(first_line)) then + call free_lines(first_line) + end if loaded = .false. case (render_action_layout) - call r%report_status("Performing Layout") - call layout_lines(first_line, r) + if(associated(first_line)) then + call r%report_status("Performing Layout") + call layout_lines(first_line, r) + end if case (render_action_goto) @@ -144,7 +148,9 @@ implicit none call handle_relative_url(current_url, input) end if - call free_lines(first_line) + if(associated(first_line)) then + call free_lines(first_line) + end if loaded = .false. end select @@ -212,7 +212,7 @@ contains do while(w > r%max_width) endpos = endpos - 1 - do while(text(endpos:endpos) /= ' ' .and. text(endpos:endpos) /= '-') + do while(text(endpos:endpos) /= ' ' .and. text(endpos:endpos) /= '-' .and. endpos > my_start) endpos = endpos - 1 end do |