summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-06-12 16:41:29 +0000
committerCarl Hetherington <carl@carlh.net>2012-06-12 16:41:29 +0000
commit92432f3e80d621816ac0b05484eb59fb9348ac34 (patch)
tree23c86f4359810044f0f5e82ca6277f6fa47eb14c /gtk2_ardour/ardour_ui.cc
parentd1d08e391059449977e7de1e858851ffd1afadc6 (diff)
Handle failure of statfs to return available disc space on Samba shares mounted via GVFS, reporting available space as unknown in this case (#4657).
git-svn-id: svn://localhost/ardour2/branches/3.0@12674 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index c210926b55..0a4a4782d2 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -1050,16 +1050,21 @@ ARDOUR_UI::update_disk_space()
return;
}
- framecnt_t frames = _session->available_capture_duration();
+ boost::optional<framecnt_t> opt_frames = _session->available_capture_duration();
char buf[64];
framecnt_t fr = _session->frame_rate();
- if (frames == max_framecnt) {
+ if (!opt_frames) {
+ /* Available space is unknown */
+ snprintf (buf, sizeof (buf), "%s", _("Disk: <span foreground=\"green\">Unknown</span>"));
+ } else if (opt_frames.get_value_or (0) == max_framecnt) {
snprintf (buf, sizeof (buf), "%s", _("Disk: <span foreground=\"green\">24hrs+</span>"));
} else {
rec_enabled_streams = 0;
_session->foreach_route (this, &ARDOUR_UI::count_recenabled_streams);
+ framecnt_t frames = opt_frames.get_value_or (0);
+
if (rec_enabled_streams) {
frames /= rec_enabled_streams;
}