summaryrefslogtreecommitdiff
path: root/plugins/gtkui/ddblistview.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gtkui/ddblistview.c')
-rw-r--r--plugins/gtkui/ddblistview.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c
index 103971fb..8a7e5c1c 100644
--- a/plugins/gtkui/ddblistview.c
+++ b/plugins/gtkui/ddblistview.c
@@ -2686,8 +2686,11 @@ ddb_listview_set_cursor_cb (gpointer data) {
int newscroll = sc->pl->scrollpos;
GtkAllocation a;
gtk_widget_get_allocation (sc->pl->list, &a);
- if (cursor_scroll < sc->pl->scrollpos) {
- newscroll = cursor_scroll;
+ if (!gtkui_groups_pinned && cursor_scroll < sc->pl->scrollpos) {
+ newscroll = cursor_scroll;
+ }
+ else if (gtkui_groups_pinned && cursor_scroll < sc->pl->scrollpos + ps->grouptitle_height) {
+ newscroll = cursor_scroll - ps->grouptitle_height;
}
else if (cursor_scroll + sc->pl->rowheight >= sc->pl->scrollpos + a.height) {
newscroll = cursor_scroll + sc->pl->rowheight - a.height + 1;