← Back to team overview

kicad-developers team mailing list archive

use of wxStandardPaths

 

Hi folks,

 While working on the issue of where to store the 3D cache data I
stumbled on some issues with various wxStandardPaths() functions.

Some functions append "appinfo" or ".appinfo" to a path where
"appinfo" is the name of the executable file. In KiCad of course
that can be pcbnew. eeschema, etc. In fact I think in all cases
where we use the affected functions we really want to strip out
"appinfo" and ensure that we have "kicad" or ".kicad" (Linux).

Affected functions which are used in KiCad include:
GetUserDataDir()
GetPluginsDir()

GetUserDataDir() is invoked in common/systemdirsappend.cpp:73.
I don't know if this data is actually used in this instance, but I
believe the intention is to have the added path end in 'kicad' or '.kicad'
and not one of pcbnew/eeschema/etc.

The other two affected files are:
common/common.cpp:471
3d-viewer/3d_cache/3d_plugin_manager.cpp:151

So what I propose is to use:
wxStandardPaths::Get().UseAppInfo( AppInfo_None )
so that "appinfo" is not used and to append
"kicad" or ".kicad" as appropriate.

Any comments?