summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-09-22 14:01:43 +0100
committerCarl Hetherington <cth@carlh.net>2012-09-22 14:01:43 +0100
commit292012d86ffda3c19530ad8e9d8788a51db2b6c5 (patch)
treef17d437780741d0b7a7f213fa7984ceae858be57 /src/lib
parent29ea42492bc810fed9cd62be5d6ffc735c851979 (diff)
Do interruption of ThreadStaticText properly.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/film.cc10
-rw-r--r--src/lib/film.h1
2 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 92b91d0ac..d5327aa3a 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -647,6 +647,12 @@ Film::encoded_frames () const
if (format() == 0) {
return 0;
}
-
- return distance (filesystem::directory_iterator (j2k_dir()), filesystem::directory_iterator ());
+
+ int N = 0;
+ for (filesystem::directory_iterator i = filesystem::directory_iterator (j2k_dir ()); i != filesystem::directory_iterator(); ++i) {
+ ++N;
+ this_thread::interruption_point ();
+ }
+
+ return N;
}
diff --git a/src/lib/film.h b/src/lib/film.h
index 40aa7b0f6..cd3b1b8a8 100644
--- a/src/lib/film.h
+++ b/src/lib/film.h
@@ -29,6 +29,7 @@
#include <vector>
#include <inttypes.h>
#include <boost/thread/mutex.hpp>
+#include <boost/thread.hpp>
#include <sigc++/signal.h>
extern "C" {
#include <libavcodec/avcodec.h>