[1023] in BarnOwl Developers

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

[D-O-H] r1009 - 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 13:26:21 -0400 (EDT)

Author: nelhage
Date: 2008-04-02 13:26:20 -0400 (Wed, 02 Apr 2008)
New Revision: 1009

Modified:
   branches/barnowl_sqlite/owl/perlwrap.pm
Log:
Fix a confusion between message objects and message IDs


Modified: branches/barnowl_sqlite/owl/perlwrap.pm
===================================================================
--- branches/barnowl_sqlite/owl/perlwrap.pm	2008-04-02 04:42:26 UTC (rev 1008)
+++ branches/barnowl_sqlite/owl/perlwrap.pm	2008-04-02 17:26:20 UTC (rev 1009)
@@ -437,7 +437,7 @@
     my $msg  = shift;
     return unless $self->at_end;
     if(BarnOwl::filter_message_match($self->get_filter, $msg)) {
-        push @{$self->messages}, $msg;
+        push @{$self->messages}, $msg->{id};
     }
 }
 
@@ -469,10 +469,10 @@
 
 sub fill_back {
     my $self = shift;
-    my $pos  = shift || $self->messages->[0] - 1;
+    return if $self->at_start;
+    my $pos  = shift || ($self->messages->[0] - 1);
     BarnOwl::debug("Fill back from $pos...");
     my $ml   = BarnOwl::message_list();
-    return if $self->at_start;
     $ml->iterate_begin($pos, 1);
     my $count = 0;
     while($count < $FILL_STEP) {
@@ -485,18 +485,18 @@
         if(BarnOwl::filter_message_match($self->get_filter, $m)) {
             $self->{offset}++;
             $count++;
-            unshift @{$self->messages}, $m
+            unshift @{$self->messages}, $m->{id};
         }
     }
     $ml->iterate_done;
 }
 
 sub fill_forward {
-    BarnOwl::debug("Fill forward...");
     my $self = shift;
-    my $pos  = shift || $self->messages->[-1] + 1;
+    return if $self->at_end;
+    my $pos  = shift || ($self->messages->[-1] + 1);
+    BarnOwl::debug("Fill forward from $pos...");
     my $ml   = BarnOwl::message_list();
-    return if $self->at_end;
     $ml->iterate_begin($pos, 0);
     my $count = 0;
     while($count < $FILL_STEP) {
@@ -508,7 +508,7 @@
         }
         if(BarnOwl::filter_message_match($self->get_filter, $m)) {
             $count++;
-            push @{$self->messages}, $m
+            push @{$self->messages}, $m->{id};
         }
     }
     $ml->iterate_done;
@@ -629,7 +629,8 @@
 
 sub get_message {
     my $self = shift;
-    return $self->view->messages->[$self->eff_index];
+    BarnOwl::debug("get_message: index=@{[$self->index]}, offset=@{[$self->view->offset]}");
+    return BarnOwl::message_list->get_by_id($self->view->messages->[$self->eff_index]);
 }
 
 sub fill_back {


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