Code review comment for lp:~and471/inkscape/ocal-dialog-improvements

Revision history for this message
jazzynico (jazzynico) wrote :

Patched and compiled with no problem on Ubuntu 10.10 with the current trunk (10145).
Seems to work very well. Nice dialog design, image search is rather fast and download time very short compared to the older (current...) implementation. I really like it!

But a crasher, when selecting an image in the result list while another one is still downloading. Backtrace:

-----
Program received signal SIGSEGV, Segmentation fault.
0x007b6545 in Gio::Cancellable::is_cancelled() const () from /usr/lib/libgiomm-2.4.so.1
(gdb) bt
#0 0x007b6545 in Gio::Cancellable::is_cancelled() const () from /usr/lib/libgiomm-2.4.so.1
#1 0x08639326 in Inkscape::UI::Dialog::OCAL::ImportDialog::on_thumbnail_downloaded (this=0xa9edc10, path=..., success=false)
    at ui/dialog/ocaldialogs.cpp:822
#2 0x08639411 in Inkscape::UI::Dialog::OCAL::ImportDialog::on_resource_downloaded (this=0xa9edc10, result=..., file_remote=..., path=...,
    resource=Inkscape::UI::Dialog::OCAL::TYPE_THUMBNAIL) at ui/dialog/ocaldialogs.cpp:788
#3 0x08640a4d in operator() (rep=0xaa097c0, a_1=...) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:2055
#4 operator()<Glib::RefPtr<Gio::AsyncResult>&, Glib::RefPtr<Gio::File>&, Glib::ustring&, Inkscape::UI::Dialog::OCAL::ResourceType&> (rep=0xaa097c0,
    a_1=...) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:144
#5 operator()<Glib::RefPtr<Gio::AsyncResult>&> (rep=0xaa097c0, a_1=...) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1523
#6 sigc::internal::slot_call1<sigc::bind_functor<-0x00000000000000001, sigc::bound_mem_functor4<void, Inkscape::UI::Dialog::OCAL::ImportDialog, Glib::RefPtr<Gio::AsyncResult> const&, Glib::RefPtr<Gio::File>, Glib::ustring, Inkscape::UI::Dialog::OCAL::ResourceType>, Glib::RefPtr<Gio::File>, Glib::ustring, Inkscape::UI::Dialog::OCAL::ResourceType, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Glib::RefPtr<Gio::AsyncResult>&>::call_it (rep=0xaa097c0, a_1=...)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:137
#7 0x007ffa01 in Gio::SignalProxy_async_callback(_GObject*, _GAsyncResult*, void*) () from /usr/lib/libgiomm-2.4.so.1
#8 0x00d1857f in g_simple_async_result_complete (simple=0xaa3bc18) at /build/buildd/glib2.0-2.26.1/gio/gsimpleasyncresult.c:692
#9 0x00d185ed in complete_in_idle_cb (data=0xaa3bc18) at /build/buildd/glib2.0-2.26.1/gio/gsimpleasyncresult.c:702
#10 0x01d3e841 in g_idle_dispatch (source=0xa9dcf68, callback=0, user_data=0xaa3bc18) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:4254
#11 0x01d40855 in g_main_dispatch (context=0x8c7e7e8) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2149
#12 g_main_context_dispatch (context=0x8c7e7e8) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2702
#13 0x01d44668 in g_main_context_iterate (context=0x8c7e7e8, block=<value optimised out>, dispatch=1, self=0x8c2c9b8)
    at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2780
#14 0x01d44ba7 in g_main_loop_run (loop=0x994a330) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2988
#15 0x00a051d9 in IA__gtk_main () at /build/buildd/gtk+2.0-2.22.0/gtk/gtkmain.c:1237
#16 0x005593b7 in Gtk::Main::run_impl() () from /usr/lib/libgtkmm-2.4.so.1
#17 0x005591b2 in Gtk::Main::run() () from /usr/lib/libgtkmm-2.4.so.1
#18 0x0824687b in sp_main_gui (argc=1, argv=0xbffff454) at main.cpp:986
#19 0x08247bb3 in main (argc=1, argv=0xbffff454) at main.cpp:717
-----

review: Needs Fixing

« Back to merge proposal