From 741f387c149a834397a42612bc31b27962d5caa0 Mon Sep 17 00:00:00 2001
From: cmcnulty <cmcnulty@kznf.com>
Date: Tue, 29 Oct 2013 22:32:21 -0400
Subject: [PATCH] fix scrolling up

---
 program/js/list.js |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/program/js/list.js b/program/js/list.js
index 8ad0a33..131d449 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -1245,7 +1245,8 @@
 {
   var row = this.rows[id].obj;
   if (row && this.frame) {
-    var scroll_to = Number(row.offsetTop);
+    var scroll_to = Number(row.offsetTop),
+      head_offset = 0;
 
     // expand thread if target row is hidden (collapsed)
     if (!scroll_to && this.rows[id].parent_uid) {
@@ -1254,9 +1255,14 @@
       scroll_to = Number(row.offsetTop);
     }
 
-    if (scroll_to < Number(this.frame.scrollTop))
-      this.frame.scrollTop = scroll_to;
-    else if (scroll_to + Number(row.offsetHeight) > Number(this.frame.scrollTop) + Number(this.frame.offsetHeight))
+    if(this.fixed_header)
+      head_offset = Number(this.thead.offsetHeight);
+    
+    // if row is above the frame (or behind header)
+    if (scroll_to < Number(this.frame.scrollTop) + head_offset) {
+      // scroll window so that row isn't behind header
+      this.frame.scrollTop = scroll_to - head_offset;
+    } else if (scroll_to + Number(row.offsetHeight) > Number(this.frame.scrollTop) + Number(this.frame.offsetHeight))
       this.frame.scrollTop = (scroll_to + Number(row.offsetHeight)) - Number(this.frame.offsetHeight);
   }
 },

--
Gitblit v1.9.1