screencast: Fix return value in case of invalid file template

If we are passed an invalid file template, ShellRecorder.record()
will return a %NULL filename; as the Screencast DBus interface
expects a string return value, we cannot return the value unmodified
in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=700842
This commit is contained in:
Florian Müllner 2013-05-22 16:42:00 +02:00
parent 88ce65266e
commit 374aee75d8

View File

@ -105,7 +105,8 @@ const ScreencastService = new Lang.Class({
recorder.set_file_template(fileTemplate);
this._applyOptionalParameters(recorder, options);
returnValue = recorder.record();
let [success, fileName] = recorder.record();
returnValue = [success, fileName ? fileName : ''];
}
invocation.return_value(GLib.Variant.new('(bs)', returnValue));
@ -125,7 +126,8 @@ const ScreencastService = new Lang.Class({
recorder.set_file_template(fileTemplate);
recorder.set_area(x, y, width, height);
this._applyOptionalParameters(recorder, options);
returnValue = recorder.record();
let [success, fileName] = recorder.record();
returnValue = [success, fileName ? fileName : ''];
}
invocation.return_value(GLib.Variant.new('(bs)', returnValue));