[1024] in BarnOwl Developers

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

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

daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:12:14 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 00:42:26 -0400 (EDT)

Author: nelhage
Date: 2008-04-02 00:42:26 -0400 (Wed, 02 Apr 2008)
New Revision: 1008

Modified:
   branches/barnowl_sqlite/owl/perlwrap.pm
Log:
Update the ::Iterator predicates to be correct for partially loaded
views


Modified: branches/barnowl_sqlite/owl/perlwrap.pm
===================================================================
--- branches/barnowl_sqlite/owl/perlwrap.pm	2008-04-02 04:42:25 UTC (rev 1007)
+++ branches/barnowl_sqlite/owl/perlwrap.pm	2008-04-02 04:42:26 UTC (rev 1008)
@@ -473,7 +473,7 @@
     BarnOwl::debug("Fill back from $pos...");
     my $ml   = BarnOwl::message_list();
     return if $self->at_start;
-    $ml->iterate_begin($pos, 0);
+    $ml->iterate_begin($pos, 1);
     my $count = 0;
     while($count < $FILL_STEP) {
         my $m = $ml->iterate_next;
@@ -523,14 +523,9 @@
 
 sub is_empty {
     my $self = shift;
-    return $self->_size == 0;
+    return scalar @{$self->messages} == 0;
 }
 
-sub _size {
-    my $self = shift;
-    return scalar @{$self->messages};
-}
-
 #####################################################################
 #####################################################################
 
@@ -593,25 +588,25 @@
 sub has_prev {
     my $self = shift;
     $self->fill_back;
-    return $self->index > 0;
+    return $self->eff_index > 0;
 }
 
 sub has_next {
     my $self = shift;
     $self->fill_forward;
-    return $self->index < $self->view->_size - 1;
+    return $self->eff_index < scalar @{$self->view->messages} - 1;
 }
 
 sub at_start {
     my $self = shift;
     $self->fill_back;
-    return $self->index < 0;
+    return $self->eff_index < 0;
 }
 
 sub at_end {
     my $self = shift;
     $self->fill_forward;
-    return $self->index >= $self->view->_size;
+    return $self->eff_index >= scalar @{$self->view->messages};
 }
 
 


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