Win2k: file dialog uses wrong home directory
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
Medium
|
joelholdsworth |
Bug Description
I just started using Inkscape 0.43 on Windows. In the
File -> Open & Save dialog boxes, clicking the Home
directory icon takes me to the wrong directory.
It seems that Inkscape (or gtk) assumes all home
directories will be in the default location "\Documents
and Settings\username", instead of querying Windows for
the correct path. In my case, this assumption is
wrong. Every other Windows application correctly finds
my home directory, but Inkscape takes me to an empty
dir instead.
Steps to reproduce:
1. Set a user's home directory to some place other than
the default. (The TweakUI utility may be the easiest
way to do this.)
2. Log out, and then log in as that user, to make sure
the setting took effect.
3. Open the Inkscape File -> Open dialog, and double
click the home directory icon.
4. Notice that you are in the default home directory
location, instead of the actual home directory you set
in step 1.
Inkscape 0.43
Windows 2000 Professional, service pack 4
Changed in inkscape: | |
assignee: | nobody → joel-airwebreathe |
Changed in inkscape: | |
status: | Confirmed → In Progress |
Changed in inkscape: | |
milestone: | none → 0.47 |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
Even without Forest's reproduce step #1, "Inkscape username\ My
0.43+devel, built Mar 15 2006" defaults to the wrong
directory on WinXP SP2. "\Documents and Settings\username"
is NOT the correct default path for user documents on
NT-based Windows systems (e.g. Win2k and WinXP). Usually,
the correct path is "\Documents and Settings\
Documents", but Windows admins have the right to change this
default (and Windows applications should allow for this
reality).
The correct way for an app to discover a user's personal msdn.microsoft. com/library/ en-us/shellcc/ platform/ shell/reference /functions/ shgetfolderpath .asp
document directory is to pass CSIDL_PERSONAL to the
SHGetFolderPath() API, documented here:
http://