Re: Icon view context menu items disappear on first click
- From: Alexander Larsson <alexl redhat com>
- To: Peter Wainwright <prw ceiriog1 demon co uk>
- Cc: Nautilus <nautilus-list gnome org>
- Subject: Re: Icon view context menu items disappear on first click
- Date: Mon, 11 Oct 2004 14:03:57 +0200
On Fri, 2004-10-08 at 20:00 +0100, Peter Wainwright wrote:
> I've just installed Gnome 2.8.0 desktop from source.
> The following happens in nautilus icon view. The first
> time I right click on an icon, the context menu pops up
> with the appropriate "Open with..." items for the mimetype.
> Then, 1/3 of a second later, these items disappear and I only
> have "Open with other application...".
>
> On the next click, the menu is initially empty of
> "Open with..." items, but these appear after 1/3 of a
> second.
>
> I did some debugging and digging in the source code.
> It appears that "schedule_update_menus" is being called
> from this point:
>
> #0 schedule_update_menus (view=0x821f9b8) at fm-directory-view.c:6185
> #1 0x080a142a in icons_changed_callback (callback_data=0x821f9b8) at
> fm-directo#2 0x40b80b33 in g_cclosure_marshal_VOID__VOID () from
> /usr/lib/libgobject-2.0.#3 0x40b6fa6a in g_closure_invoke () from
> /usr/lib/libgobject-2.0.so.0
> #4 0x40b806c6 in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #5 0x40b7f802 in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #6 0x40b7faab in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #7 0x4009d055 in mime_type_data_changed_callback (monitor=0x8125818,
> user_data=#8 0x40b80b33 in g_cclosure_marshal_VOID__VOID () from
> /usr/lib/libgobject-2.0.#9 0x40b6fa6a in g_closure_invoke () from
> /usr/lib/libgobject-2.0.so.0
> #10 0x40b806c6 in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #11 0x40b7f802 in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #12 0x40b7faab in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #13 0x407719b9 in _gnome_vfs_mime_monitor_emit_data_changed () from
> /usr/lib/lib#14 0x40770e78 in emit_mime_changed () from
> /usr/lib/libgnomevfs-2.so.0
> #15 0x40c3afbc in g_idle_dispatch () from /usr/lib/libglib-2.0.so.0
> ...
>
> After the timeout (300ms) this causes the calls:
>
> #0 reset_bonobo_open_with_menu (view=0x8220d68, selection=0x82c8bc0) at
> fm-dire#1 0x080aac64 in real_update_menus (view=0x8220d68) at
> fm-directory-view.c:5985#2 0x080b5925 in fm_icon_view_update_menus
> (view=0x8220d68) at fm-icon-view.c:1#3 0x080ae1f9 in
> fm_directory_view_update_menus (view=0x8220d68) at fm-director#4
> 0x080a3909 in update_menus_timeout_callback (data=0x8220d68) at
> fm-directory#5 0x40c3a8b3 in g_timeout_dispatch () from
> /usr/lib/libglib-2.0.so.0
> ...
>
> But at this time nautilus_mime_get_open_with_applications_for_file()
> returns NULL, since
> nautilus_mime_actions_check_if_open_with_attributes_ready (file)
> returns false.
>
> I guess the system assumes that the callback
> is being invoked because these mime attributes are ready... but
> in fact it is for some other reason (who knows what emit_mime_changed
> does?).
>
> I have not had time to investigate further; however, it seems that
> the menu should not be cleared if the mime attributes are simply
> temporarily unavailable; the menu updates should be scheduled
> again in this case.
It seems like we should monitor the required attributes on the selected
files while the menu is up.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl redhat com alla lysator liu se
He's an ungodly chivalrous card sharp with a mysterious suitcase handcuffed to
his arm. She's a cold-hearted paranoid vampire with a birthmark shaped like
Liberty's torch. They fight crime!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]