Hi!
I think it would be a great idea, to have in the Effects menu a testing effects option. If someone click on this menuitem it will execute a simple python AND perl script, which test all the dependencies required for launching the effects, and it report OK/problem form.
SO it would be easy for the users, if the effects is right installed or not. Im writing this idea, because there are many effects which require an external file, or an object to work on, or simply it does not seems to make anything (function plotter). So it would be nice to test, if the system right installed or not.
There is a crash related to this issue. There is a View->Scripts menuitem, what launched thereis a simple python script, what can be executed. If I launch it, inkscape crash immediatly. Here is the gdb output: View->Scripts, File->launch python program
gdb: (gdb) run Starting program: /usr/bin/inkscape [Thread debugging using libthread_db enabled] [New Thread -1228080768 (LWP 12929)]
(inkscape:12929): Pango-WARNING **: Error loading GPOS table 4097
** ERROR **: interpretScript: error starting Language '(null)'
aborting...
Program received signal SIGABRT, Aborted. [Switching to Thread -1228080768 (LWP 12929)] 0xb6e707c7 in raise () from /lib/tls/libc.so.6 (gdb) bt #0 0xb6e707c7 in raise () from /lib/tls/libc.so.6 #1 0xb6e7206b in abort () from /lib/tls/libc.so.6 #2 0xb7182240 in g_logv () from /usr/lib/libglib-2.0.so.0 #3 0xb7182279 in g_log () from /usr/lib/libglib-2.0.so.0 #4 0x084be1dc in Inkscape::Extension::Script::InkscapeScript::interpretScript ( this=0xbff0609b, script=@0xbff060a4, output=@0xbff060a0, error=@0xbff0609c, language=Inkscape::Extension::Script::InkscapeScript::PYTHON) at ../../src/extension/script/InkscapeScript.cpp:87 #5 0x081e7444 in Inkscape::UI::Dialog::ScriptDialogImpl::execute ( this=0xa6f6000, lang=Inkscape::Extension::Script::InkscapeScript::PYTHON) at ../../src/ui/dialog/scriptdialog.cpp:149 #6 0x081e75a9 in Inkscape::UI::Dialog::ScriptDialogImpl::executePython ( this=0xa6f6000) at ../../src/ui/dialog/scriptdialog.cpp:159 #7 0x081ea221 in sigc::bound_mem_functor0<void, Inkscape::UI::Dialog::ScriptDialogImpl>::operator() (this=0x980deec) at mem_fun.h:1787 #8 0x081ea238 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, Inkscape::UI::Dialog::ScriptDialogImpl> >::operator() (this=0x980dee8) at adaptor_trait.h:251 #9 0x081ea254 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, Inkscape::UI::Dialog::ScriptDialogImpl>, void>::call_it (rep=0x980ded0) at slot.h:103 #10 0xb7b7db5a in Glib::SignalProxyNormal::slot0_void_callback () from /usr/lib/libglibmm-2.4.so.1 #11 0xb71fba2b in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #12 0xb71eecb9 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #13 0xb71ff134 in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #14 0xb7200490 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #15 0xb72007f9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #16 0xb78671c2 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #17 0xb7785a1b in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #18 0xb7785d38 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #19 0xb777b99f in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0 #20 0xb7e237ce in Gtk::Widget_Class::button_release_event_callback () from /usr/lib/libgtkmm-2.4.so.1 #21 0xb7775900 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0 #22 0xb71ee5f9 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #23 0xb71eecb9 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #24 0xb71ff315 in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #25 0xb72001fe in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #26 0xb72007f9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #27 0xb78673e4 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #28 0xb7773d2d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #29 0xb77741a3 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #30 0xb7607bfa in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0 #31 0xb71791ac in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #32 0xb717c63b in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #33 0xb717c997 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #34 0xb7773341 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #35 0xb7dc1377 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1 #36 0xb7dc1222 in Gtk::Main::run () from /usr/lib/libgtkmm-2.4.so.1 #37 0x08071f8b in sp_main_gui (argc=1, argv=0xbff07094) at ../../src/main.cpp:642 #38 0x0819e3c5 in Inkscape::NSApplication::Application::run (this=0xbff06ff0) at ../../src/application/application.cpp:117 #39 0x08070aea in main (argc=1, argv=0xbff07094) at ../../src/main.cpp:477 (gdb)
Best regards, Khiraly
On Wed, May 17, 2006 at 12:41:37PM +0200, Khiraly wrote:
Hi!
I think it would be a great idea, to have in the Effects menu a testing effects option. If someone click on this menuitem it will execute a simple python AND perl script, which test all the dependencies required for launching the effects, and it report OK/problem form.
SO it would be easy for the users, if the effects is right installed or not. Im writing this idea, because there are many effects which require an external file, or an object to work on, or simply it does not seems to make anything (function plotter). So it would be nice to test, if the system right installed or not.
Yes, this sounds like a very good idea. Perhaps the test could also run through some simple cases that typically error, such as 1. can it execute scripts in this language? 2. are common dependencies (e.g. SVG.pm) present? 3. can external files be accessed? Then present the user with a test result with these different sanity checks (maybe draw them as SVG in the canvas?)
Bryce
participants (2)
-
Bryce Harrington
-
Khiraly