From: Good Guy Date: Thu, 29 Mar 2018 14:32:55 +0000 (-0600) Subject: repair for svg segv, fix valgrind free ref err X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=a2e9826bd30261b665ebe93e4b07e2aa07b7adb4;p=goodguy%2Fhistory.git repair for svg segv, fix valgrind free ref err --- diff --git a/cinelerra-5.1/plugins/svg/svgwin.C b/cinelerra-5.1/plugins/svg/svgwin.C index d4011954..028a9307 100644 --- a/cinelerra-5.1/plugins/svg/svgwin.C +++ b/cinelerra-5.1/plugins/svg/svgwin.C @@ -213,14 +213,13 @@ void NewSvgButton::run() new_window->update_filter("*.svg"); result = new_window->run_window(); const char *filepath = new_window->get_path(0); - strcpy(filename, filepath); + strcpy(filename, filepath ? filepath : "" ); delete new_window; new_window = 0; - if( result || !filepath || !*filepath ) { - window->editing_lock.lock(); + window->editing_lock.lock(); + if( result || !filename[0] ) window->editing = 0; - window->editing_lock.unlock(); - return; // cancel or no filename given - } + window->editing_lock.unlock(); + if( !window->editing ) return; // cancel or no filename given // Extend the filename with .svg if( strlen(filename) < 4 || @@ -398,7 +397,7 @@ void SvgInkscapeThread::run() "inkscape --with-gui %s", edit->client->config.svg_file); printf(_("Running external SVG editor: %s\n"), command); char *const argv[] = { - (char*) "incscape", + (char*) "inkscape", (char*)"--with-gui", edit->client->config.svg_file, 0,