I have identified what I think might be a possible bug in gtkmm / gio where
something is being incorrectly freed. I am quite new to gtkmm so I am not
fully sure if this is a bug or I am using the library incorrectly.

vector<string> fileNames;
Glib::RefPtr<Gio::FileEnumerator> files =
this->dataSourceDir->enumerate_children(); // dataSourceDir is  type:
Glib::RefPtr<Gio::File>
Glib::RefPtr<Gio::FileInfo> file = files->next_file();
string filesName;
while(file)
{
filesName = file->get_name();
if(hasEnding(filesName, ".data"))
{
fileNames.push_back(filesName);
}
file = files->next_file();
}

This code works correctly when enumerating over a list of files in a folder
when none of the files contains a space. However if any file contains a
space then an exception is thrown either at: filesName = file->get_name();
if the file is not the last in the directory or when the function returns
if it is the last in the directory.

The debugger shows the issue to be around a HeapFree class in the free.c
header.

I am using gtkmm-2.4 downloaded and installed from the website.

Thanks in advance for your help,

Regards.

Ian Cant
Researcher
University of Portsmouth
ian.c...@myport.ac.uk
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to