[haiku-commits] haiku: hrev44530 - src/kits/tracker

  • From: stpere@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 14 Aug 2012 22:28:01 +0200 (CEST)

hrev44530 adds 1 changeset to branch 'master'
old head: eb020bee4ba3d4dbfe4d749548e31b58a9ba63a5
new head: 8cbdf82a0a71dd2ffe7e6522ea102f9896554162

----------------------------------------------------------------------------

8cbdf82: Tracker: Drawing glitch when created Pose is first in PoseView
  
  Due to clipping of a rect to match the view bounds, there was a confusion
  as to whether the rect was at the top of the view bounds, or above the view
  bounds as both met the condition.
  
  Fixes #8876.

                                [ Philippe Saint-Pierre <stpere@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev44530
Commit:      8cbdf82a0a71dd2ffe7e6522ea102f9896554162
URL:         http://cgit.haiku-os.org/haiku/commit/?id=8cbdf82
Author:      Philippe Saint-Pierre <stpere@xxxxxxxxx>
Date:        Tue Aug 14 20:22:41 2012 UTC

Ticket:      https://dev.haiku-os.org/ticket/8876

----------------------------------------------------------------------------

1 file changed, 6 insertions(+), 2 deletions(-)
src/kits/tracker/PoseView.cpp |    8 ++++++--

----------------------------------------------------------------------------

diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp
index 3082040..0060b32 100644
--- a/src/kits/tracker/PoseView.cpp
+++ b/src/kits/tracker/PoseView.cpp
@@ -1091,7 +1091,10 @@ BPoseView::CommitActivePose(bool saveChanges)
                        loc = ActivePose()->Location(this);
 
                ActivePose()->Commit(saveChanges, loc, this, index);
+               BPose *pose = fActivePose;
                fActivePose = NULL;
+               if (fFiltering && !FilterPose(pose))
+                       RemoveFilteredPose(pose, index);
        }
 }
 
@@ -1742,7 +1745,8 @@ BPoseView::AddPoseToList(PoseList* list, bool 
visibleList, bool insertionSort,
                                // to show the area below the items that have 
already
                                // been added.
                                if (srcRect.top == viewBounds.top
-                                       && srcRect.bottom >= viewBounds.top) {
+                                       && srcRect.bottom >= viewBounds.top
+                                       && poseIndex != 0) {
                                        // if new pose above current view 
bounds, cache up
                                        // the draw and do it later
                                        listViewScrollBy += fListElemHeight;
@@ -5469,7 +5473,7 @@ BPoseView::EntryMoved(const BMessage* message)
                                                        bounds, scrollBy, true);
                                        } else if (visible && !FilterPose(pose))
                                                RemoveFilteredPose(pose, index);
-                                       else
+                                       else if (visible)
                                                
_CheckPoseSortOrder(fFilteredPoseList, pose, index);
                                }
                        }


Other related posts:

  • » [haiku-commits] haiku: hrev44530 - src/kits/tracker - stpere