[Nautilus-list] nautilus and EOG component
- From: Fabrice Bellet <Fabrice Bellet creatis insa-lyon fr>
- To: nautilus-list lists eazel com
- Subject: [Nautilus-list] nautilus and EOG component
- Date: Mon, 24 Sep 2001 09:44:51 +0200
Hello,
I worked a bit on the eog component and Nautilus recently,
with the help of Lutz Muller, who wrote the gnome-vfs module
to handle digital camera requests.
The goal is to access my digital camera pictures in
nautilus through the gnome-vfs with the eog image
viewer component. But the problem I'll describe is
generic and not related to the gnome-vfs module.
I now have difficulties to embed the eog component in nautilus.
I first problem I found is that vfs_get_info() in
components/adapter/bonobo-stream-vfs.c needs to be
implemented. I reused some code from the bonobo
module for this. See bugzilla #44402.
Now, the eog component is correctly launched when
invoking nautilus on an image file directly from
the command line (nautilus file:///tmp/image.png).
The image may be on the local fs or remote in the
camera, everything is fine. (eog is my default
handler for images)
Then, when I invoke nautilus on a directory containing
images, I cannot start the eog component directly
through the GUI (Open with -> EOG image viewer).
The nautilus-adapter processes crashes with the
following stack :
Program received signal SIGSEGV, Segmentation fault.
0x400b2429 in impl_Bonobo_Control_activate (servant=0x8151b14, activated=1,
ev=0xbfffefa0) at bonobo-control.c:213
213 control->priv->active = activated;
(gdb) up
#1 0x40069173 in _ORBIT_skel_Bonobo_Control_activate (
_ORBIT_servant=0x8151b14, _ORBIT_recv_buffer=0x80c16d0, ev=0xbfffefa0,
_impl_activate=0x400b2370 <impl_Bonobo_Control_activate>)
at Bonobo-skels.c:6154
up6154 _impl_activate(_ORBIT_servant, activate, ev);
(gdb) up
#2 0x403bc10a in ORBit_POA_handle_request () from /usr/lib/libORBit.so.0
(gdb) bt
#0 0x400b2429 in impl_Bonobo_Control_activate (servant=0x8151b14,
activated=1, ev=0xbfffefa0) at bonobo-control.c:213
#1 0x40069173 in _ORBIT_skel_Bonobo_Control_activate (
_ORBIT_servant=0x8151b14, _ORBIT_recv_buffer=0x80c16d0, ev=0xbfffefa0,
_impl_activate=0x400b2370 <impl_Bonobo_Control_activate>)
at Bonobo-skels.c:6154
#2 0x403bc10a in ORBit_POA_handle_request () from /usr/lib/libORBit.so.0
#3 0x403bf157 in CORBA_ORB_run () from /usr/lib/libORBit.so.0
#4 0x403bf44f in CORBA_ORB_run () from /usr/lib/libORBit.so.0
#5 0x403d9322 in giop_recv_reply_buffer_use_multiple_2 ()
from /usr/lib/libIIOP.so.0
#6 0x403d93f1 in giop_recv_reply_buffer_use_2 () from /usr/lib/libIIOP.so.0
#7 0x4004f571 in Bonobo_Unknown_unref (_obj=0x81545d8, ev=0xbffff110)
at Bonobo-stubs.c:169
#8 0x4007dbc8 in bonobo_object_release_unref (object=0x81545d8, ev=0x0)
at bonobo-object.c:444
#9 0x4002e16e in view_frame_call_end (frame=0x81545d8, ev=0xbffff180)
at nautilus-view.c:522
#10 0x4002e6f5 in call_report_load_complete (view=0x8151ed8, callback_data=0x0)
at nautilus-view.c:733
#11 0x4002b38b in execute_queued_functions (callback_data=0x8151f38)
at nautilus-idle-queue.c:66
#12 0x4080379d in g_idle_dispatch () from /usr/lib/libglib-1.2.so.0
#13 0x40802773 in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
#14 0x40802d39 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
--> the BonoboControl is freeed in the middle of impl_Bonobo_Control_activate()
in bonobo/bonobo-control.c
The eog component also seems to behave strangely :
[bellet lxorgfr bellet]% env DEBUG_EOG=1 eog-image-viewer
Message: Successfully registered `OAFIID:GNOME_EOG_Factory'
Eog-Message: Trying to produce a 'OAFIID:GNOME_EOG_Control'...
Eog-Message: Creating EogControl...
Eog-Message: Creating EogImageView...
Eog-Message: Loading stream...
Eog-Message: Setting ui container for EogImageView...
Gdk-WARNING **: GdkWindow 0x4c00022 unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c00023 unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c00024 unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c00021 unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c0001e unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c0001f unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c00020 unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c0001d unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c00017 unexpectedly destroyed
Gdk-WARNING **: GdkWindow 0x4c00006 unexpectedly destroyed
Eog-Message: Destroying EogImageView...
Eog-Message: EogImageView destroyed.
Eog-Message: Destroying EogControl...
A last point : when I first display the image with the
image viewer component, and then switch to the EOG
component, everything runs fine.
I don't have enough knowledge of nautilus internals to
handle this alone. Would it be possible to have some
help/suggestion from Nautilus hackers, on what's going
wrong here ? Thanks in advance.
--
fabrice
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]