+ ContentList content = _film->content ();
+
+ /* First, check to see if anything has changed and bail if not; this avoids
+ flickering on OS X.
+ */
+
+ vector<string> existing;
+ for (int i = 0; i < _content->GetItemCount(); ++i) {
+ existing.push_back (wx_to_std (_content->GetItemText (i)));
+ }
+
+ vector<string> proposed;
+ BOOST_FOREACH (shared_ptr<Content> i, content) {
+ bool const valid = i->paths_valid ();
+
+ string s = i->summary ();
+ if (!valid) {
+ s = _("MISSING: ") + s;
+ }
+
+ proposed.push_back (s);
+ }
+
+ if (existing == proposed) {
+ return;
+ }
+
+ /* Something has changed: set up the control */
+