bug: ofToDataPath broken again #1250

elliotwoods opened this Issue May 10, 2012 · 12 comments


None yet

6 participants



It seems i'm getting double 'data/' in my paths
after a little tracking down, i found this is because ofSystemLoadDialog changes the current working directory

so we could try and either fix that by popping the folder after the dialog,
of for windows using something like GetModuleFileName to get the path of the current exe rather than using the current working directory

I can't seem to run GetModuleFileName from ofUtils.cpp even though windows.h is included in ofConstants.h (included in ofUtils.h)

@ofTheo ofTheo was assigned Aug 4, 2012

I'm up for whatever works!! :)
this is a frustrating bug otherwise.

openFrameworks member

I'm pushing this back to 0073.



I had problems with this and wrote my own long time ago...
I used it to put the data path inside the application bundle for osx/ios and use GetModuleFileName for windows
Very messy but just in case...

std::string getDataFilePath(const string &file_name) {
#if defined TARGET_OSX || defined TARGET_OF_IPHONE

// absolute ?
if(file_name.length() != 0 && file_name[0] == '/') {
    return file_name;

CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle);
char path[PATH_MAX];
if (!CFURLGetFileSystemRepresentation(resourcesURL, TRUE, (UInt8 *)path, PATH_MAX))
    // error!

string full_path(path);
full_path += "/";
full_path += file_name;
return full_path;

static string abs_path;

// absolute ?
if(file_name.length() > 1 && (file_name[1] == ':' || file_name[1] == '\\')) {
    return file_name;

if(abs_path.empty()) {
    char buffer[MAX_PATH];
    ::GetModuleFileNameA( NULL, buffer, MAX_PATH );
    string::size_type pos = string( buffer ).find_last_of( "\\/" );
    abs_path = string( buffer ).substr( 0, pos) + "\\data";

return abs_path + string("\\") + file_name;



wait a sec. i'm working on this to get it ready for 0072 (as agreed at dev meet)
it's a serious bug which breaks too many projects whenever it rears


sorry i'm new here and don't know about dev meets
just ignore my comment

@elliotwoods elliotwoods was assigned Aug 30, 2012
openFrameworks member

Hey no problem. Put it back to 0072, and assigned you, @elliotwoods. :-)
@toniorush I think he meant my previous comment, not yours, in his reply.


ah sorry toniourish! i'm continuing the discussion from

openFrameworks member

well, according to your comment in #1251, 1251 is not a PR for this bug report, that's why I pushed back - didn't know you would fix this bug, too, in one go.

openFrameworks member

pushing back to 0073 as per #1523 (comment)


this seems to be quite old and already fixed. shouldn't it be closed?

openFrameworks member

I don't think so, #1523 is not merged yet. @elliotwoods ?


omg closed by #1523

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment