Skip to content

Commit 0237a52

Browse files
vtyrtovTurboGit
authored andcommitted
Fix filmstrip double marker issue (#19772)
The filmstrip current-image marker (black arrow) was appearing on multiple thumbnails spaced by the number of visible items in the filmstrip. This occurred because the w_cursor widget visibility was tied only to thumb->active flag, which could be set on multiple thumbnails during scrolling and thumbnail reuse. The fix adds a double-check in _thumb_update_icons() to ensure the cursor arrow is shown only when both conditions are met: - thumb->active is TRUE - thumb->imgid matches the first entry in active_images list This ensures only the actual current/active image displays the marker, eliminating visual confusion between selection highlight and current-image indicator. Fixes #19772
1 parent baff916 commit 0237a52

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/dtgtk/thumbnail.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -885,7 +885,15 @@ static void _thumb_update_icons(dt_thumbnail_t *thumb)
885885
gtk_widget_show(thumb->w_bottom_eb);
886886
gtk_widget_show(thumb->w_reject);
887887
gtk_widget_show(thumb->w_ext);
888-
gtk_widget_show(thumb->w_cursor);
888+
889+
// show cursor (filmstrip current-image arrow) only for the active image
890+
gboolean show_cursor = thumb->active;
891+
if(show_cursor && darktable.view_manager->active_images)
892+
{
893+
const int activeid = GPOINTER_TO_INT(darktable.view_manager->active_images->data);
894+
show_cursor = (thumb->imgid == activeid);
895+
}
896+
gtk_widget_set_visible(thumb->w_cursor, show_cursor);
889897

890898
for(int i = 0; i < MAX_STARS; i++)
891899
gtk_widget_show(thumb->w_stars[i]);

0 commit comments

Comments
 (0)