No, it's not a bug. It's a dirty trick to reduce memory usage.
For filenames in English, their real names and their UTF-8 display names are completely the same. So there is no need to store two copies of the same string.
That's the purpose of this hack, to share real base names and display names whenever possible. This is not a bug, but I did not write good comments for this previously. :-(
On Tue, May 22, 2012 at 5:24 AM, Andrej N. Gritsenko <> wrote:

>I think the problem is in two questionable places:


>    if( strcmp(tmp, fi->path->name) == 0 )
>        fi->disp_name = fi->path->name;
>    else
>        fi->disp_name = g_strdup(tmp);


>    if(src->disp_name == src->path->name)
>        fi->disp_name = src->disp_name;
>    else
>        fi->disp_name = g_strdup(src->disp_name);

After some thinking I've found that first place is handled in appropriate
places but second cannot be. I'll send patch to tracker then.


Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
Pcmanfm-develop mailing list