summaryrefslogtreecommitdiffstats
path: root/src/extension/implementation/script.h
diff options
context:
space:
mode:
authorAdib Taraben <theadib@gmail.com>2009-08-01 23:31:02 +0000
committertheadib <theadib@users.sourceforge.net>2009-08-01 23:31:02 +0000
commitd8d60c60ebeeefb068d9b68bf7d96f1f1f88518a (patch)
tree2e7873e7c4a96dec1e3bfa421a15e98592378c01 /src/extension/implementation/script.h
parentCleaning some code again (diff)
downloadinkscape-d8d60c60ebeeefb068d9b68bf7d96f1f1f88518a.tar.gz
inkscape-d8d60c60ebeeefb068d9b68bf7d96f1f1f88518a.zip
FIX 309856 353847: correctly advertise exception leads to error message dialogue
(bzr r8380)
Diffstat (limited to 'src/extension/implementation/script.h')
-rw-r--r--src/extension/implementation/script.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/extension/implementation/script.h b/src/extension/implementation/script.h
index 4620375f9..8e25fb351 100644
--- a/src/extension/implementation/script.h
+++ b/src/extension/implementation/script.h
@@ -135,7 +135,7 @@ private:
/**
*
*/
- void checkStderr (const Glib::ustring &filename,
+ void checkStderr (const Glib::ustring &filename,
Gtk::MessageType type,
const Glib::ustring &message);
@@ -146,7 +146,7 @@ private:
Glib::RefPtr<Glib::IOChannel> _channel;
Glib::RefPtr<Glib::MainLoop> _main_loop;
bool _dead;
-
+
public:
file_listener () : _dead(false) { };
virtual ~file_listener () {
@@ -187,11 +187,15 @@ private:
// Note, doing a copy here, on purpose
Glib::ustring string (void) { return _string; };
- void toFile (const Glib::ustring &name) {
+ bool toFile (const Glib::ustring &name) {
+ try {
Glib::RefPtr<Glib::IOChannel> stdout_file = Glib::IOChannel::create_from_file(name, "w");
stdout_file->set_encoding();
stdout_file->write(_string);
- return;
+ } catch (Glib::FileError &e) {
+ return false;
+ }
+ return true;
};
};