You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pivot.apache.org by "Sandro Martini (Commented) (JIRA)" <ji...@apache.org> on 2012/01/26 16:54:39 UTC

[jira] [Commented] (PIVOT-832) FileBrowserSheet.setRootDirectory(...) fails the first time on drives other than system volume

    [ https://issues.apache.org/jira/browse/PIVOT-832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13193921#comment-13193921 ] 

Sandro Martini commented on PIVOT-832:
--------------------------------------

Just committed a sample test case, to start work on this issue.

                
> FileBrowserSheet.setRootDirectory(...) fails the first time on drives other than system volume
> ----------------------------------------------------------------------------------------------
>
>                 Key: PIVOT-832
>                 URL: https://issues.apache.org/jira/browse/PIVOT-832
>             Project: Pivot
>          Issue Type: Bug
>    Affects Versions: 2.0, 2.0.1
>         Environment: Windows
>            Reporter: Volker Seibt
>            Priority: Minor
>             Fix For: 2.0.2
>
>
> Let the system volumen be C:. If FileBrowserSheet.setRootDirectory is called with a path on a different drive (<volume>:\the\path), on the first time root directory is set to "<volume>:" instead of "<volume>:\the\path".
> I was not sure if it had to do with the patch I provided (it's also in 2.0), so I analized the behavior. It's caused by a strange loop of listeners:
> * If FileBrowserSheet.setRootDirectory is called this triggers the fileBrowserSheetListeners.
> * One of the listeners is TerraFileBrowserSkin.rootDirectoryChanged.
> * In this method driveListButton.setSelectedItem is called with the new drive.
> * This triggers the listButtonSelectionListeners of the driveListButton,
> * One of the listeners triggers FileBrowser.setRootDirectory with this newly "selected" drive, so rootdirectory is set to this drive instead of the given path for this drive.
> Workaround: calling FileBrowserSheet.setRootDirectory twice in the application breaks the circle, because FileBrowser.setRootDirectory is not triggered again from driveListButton.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira