Lagrange [release]

DocumentWidget: Markers disappear when scrolling

0ccabb2c8e0e894be520c621bca8023a6d5de2e2
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index c82e823d..4de25b58 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -2840,6 +2840,19 @@ static void draw_DocumentWidget_(const iDocumentWidget *d) {
                                    isDark_ColorTheme(colorTheme_App()) ? SDL_BLENDMODE_ADD
                                                                        : SDL_BLENDMODE_BLEND);
         ctx.viewPos = topLeft_Rect(docBounds);
+        /* Marker starting outside the visible range? */
+        if (d->firstVisibleRun) {
+            if (!isEmpty_Range(&d->selectMark) &&
+                d->selectMark.start < d->firstVisibleRun->text.start &&
+                d->selectMark.end > d->firstVisibleRun->text.start) {
+                ctx.inSelectMark = iTrue;
+            }
+            if (isEmpty_Range(&d->foundMark) &&
+                d->foundMark.start < d->firstVisibleRun->text.start &&
+                d->foundMark.end > d->firstVisibleRun->text.start) {
+                ctx.inFoundMark = iTrue;
+            }
+        }
         render_GmDocument(d->doc, vis, drawMark_DrawContext_, &ctx);
         SDL_SetRenderDrawBlendMode(renderer_Window(get_Window()), SDL_BLENDMODE_NONE);
     }