[1026] in BarnOwl Developers
[D-O-H] r1013 - branches/barnowl_sqlite/owl
daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:12:15 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: Wed, 2 Apr 2008 13:26:26 -0400 (EDT)
Author: nelhage
Date: 2008-04-02 13:26:26 -0400 (Wed, 02 Apr 2008)
New Revision: 1013
Modified:
branches/barnowl_sqlite/owl/functions.c
Log:
Slightly hackish fix to deal with topmsg's across regenerating views
Modified: branches/barnowl_sqlite/owl/functions.c
===================================================================
--- branches/barnowl_sqlite/owl/functions.c 2008-04-02 17:26:25 UTC (rev 1012)
+++ branches/barnowl_sqlite/owl/functions.c 2008-04-02 17:26:26 UTC (rev 1013)
@@ -753,6 +753,7 @@
(as close as possible to where we last where) */
owl_view_iterator_init_id(it, v, lastmsgid);
owl_global_set_curmsg(&g, it);
+ owl_global_set_topmsg(&g, it);
owl_function_calculate_topmsg(OWL_DIRECTION_NONE);
/* if there are no messages set the direction to down in case we
delete everything upwards */
@@ -781,8 +782,9 @@
v=owl_global_get_current_view(&g);
owl_view_iterator_init_end(it, v);
+ owl_global_set_topmsg(&g, it);
owl_global_set_curmsg(&g, it);
- owl_function_calculate_topmsg(OWL_DIRECTION_DOWNWARDS);
+ owl_function_calculate_topmsg(OWL_DIRECTION_UPWARDS);
/* owl_mainwin_redisplay(owl_global_get_mainwin(&g)); */
owl_global_set_direction_downwards(&g);
}
@@ -2329,7 +2331,7 @@
{
owl_view *v;
owl_filter *f;
- int curid=-1, topid;
+ int curid=-1;
owl_view_iterator *it;
owl_message *curm=NULL;
@@ -2351,8 +2353,6 @@
return;
}
- topid = owl_message_get_id(owl_view_iterator_get_message(owl_global_get_topmsg(&g)));
-
owl_view_new_filter(v, filtname);
/* Figure out what to set the current message to.
@@ -2366,7 +2366,7 @@
owl_view_iterator_init_id(it, v, curid);
owl_global_set_curmsg(&g, it);
- owl_view_iterator_init_id(owl_global_get_topmsg(&g), v, topid);
+ owl_global_set_topmsg(&g, it);
owl_function_calculate_topmsg(OWL_DIRECTION_DOWNWARDS);
owl_mainwin_redisplay(owl_global_get_mainwin(&g));