summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkui/ddblistview.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c
index 50877666..aa1f7a57 100644
--- a/plugins/gtkui/ddblistview.c
+++ b/plugins/gtkui/ddblistview.c
@@ -1158,6 +1158,14 @@ ddb_listview_list_render_row (DdbListview *listview, int row, DdbListviewIter it
return;
}
+ if (y + h <= 0) {
+ return;
+ }
+
+ if (y > GTK_WIDGET (listview)->allocation.height) {
+ return;
+ }
+
draw_begin ((uintptr_t)listview->backbuf);
ddb_listview_list_render_row_background (listview, it, even, cursor, x, y, w, h);
if (it) {
@@ -1267,6 +1275,9 @@ ddb_listview_select_single (DdbListview *ps, int sel) {
ddb_listview_draw_row (ps, idx, it);
ps->binding->selection_changed (it, idx);
}
+ else if (ps->binding->cursor () == idx) {
+ ddb_listview_draw_row (ps, idx, it);
+ }
}
else if (ps->binding->is_selected (it)) {
ps->binding->select (it, 0);