New autoscrolling after renaming in the File Browser works weird #90082

Closed
opened 2021-07-23 16:23:05 +02:00 by Philipp Oeser · 14 comments
Member

System Information
Operating system: Linux-5.13.0-0.rc6.45.fc35.x86_64-x86_64-with-glibc2.33.9000 64 Bits
Graphics card: NVIDIA GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 465.31

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-07-23 07:04, hash: f23b14091f
Was introduced in 6b0869039a like this

Short description of error
New autoscrolling after renamin in the File Browser works weird (does not scroll to the item created/renamed)

Exact steps for others to reproduce the error
in the FileBrowser:

  • go to a directory with many files/folders
  • create a new folder or rename an existing folder
  • watch it scroll somewhere else

filebrowser_autoscroll_somewhere_else.webm

**System Information** Operating system: Linux-5.13.0-0.rc6.45.fc35.x86_64-x86_64-with-glibc2.33.9000 64 Bits Graphics card: NVIDIA GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 465.31 **Blender Version** Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-07-23 07:04, hash: `f23b14091f` Was introduced in 6b0869039a like this **Short description of error** New autoscrolling after renamin in the File Browser works weird (does not scroll to the item created/renamed) **Exact steps for others to reproduce the error** in the FileBrowser: - go to a directory with many files/folders - create a new folder or rename an existing folder - watch it scroll somewhere else [filebrowser_autoscroll_somewhere_else.webm](https://archive.blender.org/developer/F10235000/filebrowser_autoscroll_somewhere_else.webm)
Author
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk

#93116 was marked as duplicate of this issue

#93116 was marked as duplicate of this issue
Author
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member

Added subscribers: @Schiette, @JulianEisel

Added subscribers: @Schiette, @JulianEisel
Author
Member
@JulianEisel @Schiette
Philipp Oeser changed title from New autoscrolling after renamin in the File Browser works weird to New autoscrolling after renaming in the File Browser works weird 2021-07-23 16:24:21 +02:00
Author
Member

Since this can get really annoying, I consider this a regression (before the commit - and with sorting by Date Modified you could at least make sure the new/renamed entry and focus would stay on top, now it always scrolls away) and will dare setting this to High prio.

Since this can get really annoying, I consider this a regression (before the commit - and with sorting by `Date Modified` you could at least make sure the new/renamed entry and focus would stay on top, now it always scrolls away) and will dare setting this to High prio.
Member

We didn't change the scrolling logic, which I think was quite broken in master already. At least I know of cases where it didn't work either. This change exposes it much more though.

We didn't change the scrolling logic, which I think was quite broken in master already. At least I know of cases where it didn't work either. This change exposes it much more though.
Author
Member

Added subscribers: @phoenixart, @PratikPB2123

Added subscribers: @phoenixart, @PratikPB2123
Philipp Oeser self-assigned this 2021-11-25 09:40:56 +01:00
Author
Member

Since I set this to High prio (it is still bugging me every day), will have a look.

Since I set this to High prio (it is still bugging me every day), will have a look.
Member

The smooth auto scrolling (which isn't new functionality) has always had issues like that. It was entirely reworked at some point to address such issues, but without success. Think one of the main problems is that after actions like renaming, it is executed immediately, but the file list is first cleared and then rebuilt. So there is a moment where the scrolling may operate on an empty list, which messes things up.

So I think at this point we should simply remove the smooth auto scrolling, and just ensure the active file is in view bounds after loading using file_ensure_inside_viewbounds(). We can later port this to use UI_view2d_smooth_view(), and make sure that doesn't have conflicts with rebuilding the file list.

The smooth auto scrolling (which isn't new functionality) has always had issues like that. It was entirely reworked at some point to address such issues, but without success. Think one of the main problems is that after actions like renaming, it is executed immediately, but the file list is first cleared and then rebuilt. So there is a moment where the scrolling may operate on an empty list, which messes things up. So I think at this point we should simply remove the smooth auto scrolling, and just ensure the active file is in view bounds after loading using `file_ensure_inside_viewbounds()`. We can later port this to use `UI_view2d_smooth_view()`, and make sure that doesn't have conflicts with rebuilding the file list.
Author
Member

I think the problem is the deselection/selection in the code from 6b0869039a [which resorts], not sure if you meant that?
Seems like getting the correct file again after resorting will fix this though, Diff incoming...

I think the problem is the deselection/selection in the code from 6b0869039a [which resorts], not sure if you meant that? Seems like getting the correct file again after resorting will fix this though, Diff incoming...
Author
Member

There might be situations where there is an empty list (havent run into this though I think), but the clear regression from the culprit commit should still be fixed?

There might be situations where there is an empty list (havent run into this though I think), but the clear regression from the culprit commit should still be fixed?

This issue was referenced by b2bb3e4b72

This issue was referenced by b2bb3e4b722bad7e887a66ac4a6f589b389e6dc5
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Thomas Dinges added this to the 3.0 milestone 2023-02-08 15:59:05 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#90082
No description provided.