projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup: longer variable name.
[dcpomatic.git]
/
src
/
lib
/
text_content.cc
diff --git
a/src/lib/text_content.cc
b/src/lib/text_content.cc
index 9c925cbcfb6bb0c6849fba9a947c66c70e7fa36b..92a35b8220cbca3f41c7302d9d8f0536a0b22ab9 100644
(file)
--- a/
src/lib/text_content.cc
+++ b/
src/lib/text_content.cc
@@
-81,9
+81,9
@@
TextContent::TextContent (Content* parent, TextType type, TextType original_type
}
/** @return TextContents from node or <Text> nodes under node (according to version).
}
/** @return TextContents from node or <Text> nodes under node (according to version).
- * The
list
could be empty if no TextContents are found.
+ * The
vector
could be empty if no TextContents are found.
*/
*/
-
list
<shared_ptr<TextContent>>
+
vector
<shared_ptr<TextContent>>
TextContent::from_xml (Content* parent, cxml::ConstNodePtr node, int version, list<string>& notes)
{
if (version < 34) {
TextContent::from_xml (Content* parent, cxml::ConstNodePtr node, int version, list<string>& notes)
{
if (version < 34) {
@@
-104,14
+104,15
@@
TextContent::from_xml (Content* parent, cxml::ConstNodePtr node, int version, li
return { make_shared<TextContent>(parent, node, version, notes) };
}
return { make_shared<TextContent>(parent, node, version, notes) };
}
-
list<shared_ptr<TextContent>> c
;
+
vector<shared_ptr<TextContent>> content
;
for (auto i: node->node_children("Text")) {
for (auto i: node->node_children("Text")) {
- c
.push_back
(make_shared<TextContent>(parent, i, version, notes));
+ c
ontent.push_back
(make_shared<TextContent>(parent, i, version, notes));
}
}
- return c;
+ return c
ontent
;
}
}
+
TextContent::TextContent (Content* parent, cxml::ConstNodePtr node, int version, list<string>& notes)
: ContentPart (parent)
, _use (false)
TextContent::TextContent (Content* parent, cxml::ConstNodePtr node, int version, list<string>& notes)
: ContentPart (parent)
, _use (false)
@@
-147,8
+148,6
@@
TextContent::TextContent (Content* parent, cxml::ConstNodePtr node, int version,
_effect = dcp::Effect::BORDER;
} else if (node->optional_bool_child("Shadow").get_value_or(false)) {
_effect = dcp::Effect::SHADOW;
_effect = dcp::Effect::BORDER;
} else if (node->optional_bool_child("Shadow").get_value_or(false)) {
_effect = dcp::Effect::SHADOW;
- } else {
- _effect = dcp::Effect::NONE;
}
auto effect = node->optional_string_child("Effect");
}
auto effect = node->optional_string_child("Effect");
@@
-445,7
+444,9
@@
TextContent::identifier () const
void
TextContent::add_font (shared_ptr<Font> font)
{
void
TextContent::add_font (shared_ptr<Font> font)
{
- DCPOMATIC_ASSERT(!get_font(font->id()));
+ boost::mutex::scoped_lock lm(_mutex);
+
+ DCPOMATIC_ASSERT(!get_font_unlocked(font->id()));
_fonts.push_back (font);
connect_to_fonts ();
}
_fonts.push_back (font);
connect_to_fonts ();
}
@@
-652,6
+653,14
@@
TextContent::take_settings_from (shared_ptr<const TextContent> c)
shared_ptr<dcpomatic::Font>
TextContent::get_font(string id) const
shared_ptr<dcpomatic::Font>
TextContent::get_font(string id) const
+{
+ boost::mutex::scoped_lock lm(_mutex);
+ return get_font_unlocked(id);
+}
+
+
+shared_ptr<dcpomatic::Font>
+TextContent::get_font_unlocked(string id) const
{
auto iter = std::find_if(_fonts.begin(), _fonts.end(), [&id](shared_ptr<dcpomatic::Font> font) {
return font->id() == id;
{
auto iter = std::find_if(_fonts.begin(), _fonts.end(), [&id](shared_ptr<dcpomatic::Font> font) {
return font->id() == id;
@@
-664,3
+673,12
@@
TextContent::get_font(string id) const
return *iter;
}
return *iter;
}
+
+void
+TextContent::clear_fonts()
+{
+ boost::mutex::scoped_lock lm(_mutex);
+
+ _fonts.clear();
+}
+