On Wed, 2003-09-17 at 11:13, Alexander Larsson wrote:
> On Mon, 2003-09-15 at 22:53, Joe Marcus Clarke wrote:
> > On Mon, 2003-09-15 at 05:23, Alexander Larsson wrote:
> > > On Mon, 2003-09-15 at 04:19, Joe Marcus Clarke wrote:
> > > > I am seeing the exact problem described in #48494 in Nautilus 2.2.4 and
> > > > 2.4.0 on both FreeBSD and Slackware. It looks like this bug might be
> > > > back. I'm willing to take a deeper look into this. I browsed a little
> > > > through libnautilus-private, and it looks like that's where I need to
> > > > be, but could someone fill me in on how the icon file name is obtained?
> > > > Any ideas why user-defined icons would not be loaded even though the
> > > > mime-type and action is? Note, mime-types in the system mime-info
> > > > directory are working correctly, and show the correct icons. Thanks.
> > >
> > > Sorry, I have no idea why it would work for the system data and not for
> > > the user one. I guess you have to trace down the code and compare the
> > > two
> >
> > Okay, I've delved into this further, and I think I've found the
> > pattern. I'm wondering if you can test this for me, Alex? Create a
> > MIME type, and have the icon point to a fully-qualified pathname outside
> > of the GNOME icon themes. Then see if it shows up in Nautilus.
> >
> > What I'm seeing is that MIME types that have fully-qualified non-icon
> > theme icons (regardless of whether or not they're system-defined or
> > user-defined), don't show up in Nautilus. This is because
> > gnome_icon_lookup() only knows about customer icons if the custom icon
> > argument is non-NULL. I believe Nautilus will only set this variable to
> > a value if a _Nautilus_ custom icon has been defined. I'm curious to
> > know if this, in fact, the case. If so, I'm not sure the best
> > solution. Should libgnomeui be fixed, or should Nautilus peek at the
> > icon_filename gnome-vfs property, and pass it as a custom icon if the
> > first character is '/'? Thanks.
>
> This is a libgnomeui bug. It needs to handle absolute icon pathnames in
> mime data. Here is a patch:
Thank you!
Joe
>
> Index: libgnomeui/gnome-icon-lookup.c
> ===================================================================
> RCS file: /cvs/gnome/libgnomeui/libgnomeui/gnome-icon-lookup.c,v
> retrieving revision 1.9
> diff -u -p -r1.9 gnome-icon-lookup.c
> --- libgnomeui/gnome-icon-lookup.c 2 Mar 2003 13:17:08 -0000 1.9
> +++ libgnomeui/gnome-icon-lookup.c 17 Sep 2003 15:11:31 -0000
> @@ -107,6 +107,10 @@ get_vfs_mime_name (const char *mime_type
>
> if (vfs_mime_name)
> {
> + /* Handle absolute files */
> + if (vfs_mime_name[0] == '/')
> + return g_strdup (vfs_mime_name);
> +
> p = strrchr(vfs_mime_name, '.');
>
> if (p)
> @@ -293,7 +297,9 @@ gnome_icon_lookup (GnomeIconTheme
> if (mime_type)
> {
> mime_name = get_vfs_mime_name (mime_type);
> - if (mime_name && gnome_icon_theme_has_icon (icon_theme, mime_name))
> + if (mime_name &&
> + ((mime_name[0] == '/' && g_file_test (mime_name, G_FILE_TEST_IS_REGULAR) ||
> + gnome_icon_theme_has_icon (icon_theme, mime_name))))
> return mime_name;
> g_free (mime_name);
>
>
> Anders, is this ok to commit?
>
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Alexander Larsson Red Hat, Inc
> alexl redhat com alla lysator liu se
> He's a bookish albino househusband on a mission from God. She's a
> sharp-shooting wisecracking museum curator with only herself to blame. They
> fight crime!
--
Joe Marcus Clarke
FreeBSD GNOME Team :: gnome FreeBSD org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome
Attachment:
signature.asc
Description: This is a digitally signed message part