[958] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r945 - branches/barnowl_sqlite/owl

daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:11:34 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@nelhage.com
To: dirty-owl-hackers@mit.edu
From: nelhage@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Mon, 18 Feb 2008 16:21:07 -0500 (EST)

Author: nelhage
Date: 2008-02-18 16:21:06 -0500 (Mon, 18 Feb 2008)
New Revision: 945

Modified:
   branches/barnowl_sqlite/owl/functions.c
Log:
Fix owl_function_calculate_topmsg_center to not randomly move the
curmsg around.


Modified: branches/barnowl_sqlite/owl/functions.c
===================================================================
--- branches/barnowl_sqlite/owl/functions.c	2008-02-18 21:10:50 UTC (rev 944)
+++ branches/barnowl_sqlite/owl/functions.c	2008-02-18 21:21:06 UTC (rev 945)
@@ -1148,15 +1148,17 @@
 void owl_function_calculate_topmsg_center(int direction, owl_view *v, owl_view_iterator *curmsg, owl_view_iterator *topmsg, int recwinlines)
 {
   int lines;
-  owl_view_iterator *it = curmsg;
+  owl_view_iterator it;
+  owl_view_iterator_clone(&it, curmsg);
 
   lines = 0;
-  for (owl_view_iterator_prev(it);
-       !owl_view_iterator_is_at_start(it);
-       owl_view_iterator_prev(it)) {
-    lines += owl_message_get_numlines(owl_view_iterator_get_message(it));
+  for (owl_view_iterator_prev(&it);
+       !owl_view_iterator_is_at_start(&it);
+       owl_view_iterator_prev(&it)) {
+    lines += owl_message_get_numlines(owl_view_iterator_get_message(&it));
     if (lines > recwinlines/2) break;
   }
+  owl_view_iterator_clone(topmsg, &it);
 }
   
 void owl_function_calculate_topmsg_paged(int direction, owl_view *v, owl_view_iterator *curmsg, owl_view_iterator *topmsg, int recwinlines, int center_on_page)


home help back first fref pref prev next nref lref last post