Opened 11 years ago

Closed 11 years ago

#2441 closed bug (fixed)

[Tracker] Wrong offset when changing dir in single window navigation & icon mode.

Reported by: aldeck Owned by: aldeck
Priority: normal Milestone: R1
Component: Applications/Tracker Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

  1. Switch to icon mode and move one or more icons on the boundaries so that it augments the icons extent and activates the scrollbars.
  1. Now scroll or adjust to your liking.
  1. Switch to mini-icon mode and back to icon mode.

-> The icons are now offseted like in 1).

The previous and expected behavior is to show the icon as they were in 2). The bug appeared the first time with hrev26043, disapeared with hrev26047, and re-appeared with hrev26057.

Apparently some scrolling that was previously blocked by the bounds check in BView::ScrollTo/By has been "reactivated".

Change History (5)

comment:1 Changed 11 years ago by aldeck

Checked on R5 (MAX4.1b, don't know the OpenTracker version), besides other problems that were recently fixed in Haiku svn, this precise bug is there.

comment:2 Changed 11 years ago by aldeck

Ok, found the problem, so bear with me until i find a proper fix. Note that i'm not sure about my previous comment as it's a problem with the "recent" kScaleIconMode.

comment:3 Changed 11 years ago by aldeck

The original problem is fixed in hrev26121, although the same issue arises when switching dir in single window navigation. Leaving open until this is also fixed.

comment:4 Changed 11 years ago by aldeck

Summary: [Tracker] Wrong offset when switching from mini-icon to icon mode.[Tracker] Wrong offset when changing dir in single window navigation & icon mode.

Adjusted summary

Can't edit the description though, replace step 3) by:

3) change dir using the navigation arrows.


I did find some inconsistency in BPoseView::SwitchDir(). If the passed AttributeStreamNode *node isn't NULL, the origin is correctly restored but it is (likely wrongly) again reseted before returning. I tried to do the reset only when "not restoring" but it gave strange/inconsistent results. So there's either another bug or something i don't understand. To summarize, i'm stuck.

Also, i don't understand the following comment in BPoseView::SwitchDir(), what does "this" refer to? And besides, we actually set the origin before and after so it doesn't help understand the comment:

be sure this happens after origin is set and window is sized properly for proper icon caching!

See also commit list discussion of hrev26121.

comment:5 Changed 11 years ago by aldeck

Resolution: fixed
Status: newclosed

Fixed in hrev28210

Note: See TracTickets for help on using tickets.