You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pivot.apache.org by "Volker Seibt (Created) (JIRA)" <ji...@apache.org> on 2012/01/02 10:30:31 UTC

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

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


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>:".

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

        

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

Posted by "Volker Seibt (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Volker Seibt updated PIVOT-832:
-------------------------------

    Description: 
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.


  was:
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>:".

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.


    
> 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
>
> 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

        

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

Posted by "Sandro Martini (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini reassigned PIVOT-832:
------------------------------------

    Assignee: Roger Whitcomb
    
> 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
>            Assignee: Roger Whitcomb
>            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

        

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

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini resolved PIVOT-832.
----------------------------------

    Resolution: Fixed

After many debug finally I resolved the problem ...
Committed revision 1336245.

                
> 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
>            Assignee: Sandro Martini
>            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

        

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

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini reassigned PIVOT-832:
------------------------------------

    Assignee: Sandro Martini  (was: Roger Whitcomb)
    
> 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
>            Assignee: Sandro Martini
>            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

        

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

Posted by "Sandro Martini (Commented) (JIRA)" <ji...@apache.org>.
    [ 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

        

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

Posted by "Sandro Martini (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini updated PIVOT-832:
---------------------------------

    Fix Version/s: 2.0.2
    
> 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