Merge lp:~vanvugt/compiz/fix-CompOption-templates into lp:compiz/0.9.9

Proposed by Daniel van Vugt
Status: Merged
Approved by: Sam Spilsbury
Approved revision: 3418
Merged at revision: 3420
Proposed branch: lp:~vanvugt/compiz/fix-CompOption-templates
Merge into: lp:compiz/0.9.9
Diff against target: 29 lines (+8/-0)
2 files modified
include/core/option.h (+4/-0)
src/option.cpp (+4/-0)
To merge this branch: bzr merge lp:~vanvugt/compiz/fix-CompOption-templates
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Sam Spilsbury Approve
Review via email: mp+129796@code.launchpad.net

Commit message

Instantiate CompOption-related templates in core only. There's no need for
duplicates to be instantiated in plugins too.
(LP: #1066793) (LP: #1066803)

This not only reduces build times and will improve stability during plugin
reloads, but it also reduces the footprint of lib/compiz/* from 89MB to 75MB!

To post a comment you must log in.
Revision history for this message
Sam Spilsbury (smspillaz) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'include/core/option.h'
2--- include/core/option.h 2012-10-02 05:51:26 +0000
3+++ include/core/option.h 2012-10-16 03:41:20 +0000
4@@ -302,6 +302,10 @@
5 PrivateOption *priv;
6 };
7
8+extern template class std::vector<unsigned short>;
9+extern template class std::vector<CompOption::Value>;
10+extern template class std::vector<CompOption>;
11+
12 namespace compiz {
13 namespace detail {
14
15
16=== modified file 'src/option.cpp'
17--- src/option.cpp 2012-10-02 05:51:26 +0000
18+++ src/option.cpp 2012-10-16 03:41:20 +0000
19@@ -38,6 +38,10 @@
20 #include <boost/variant/static_visitor.hpp>
21 #include <boost/type_traits/remove_const.hpp>
22
23+template class std::vector<unsigned short>;
24+template class std::vector<CompOption::Value>;
25+template class std::vector<CompOption>;
26+
27 namespace
28 {
29 CompOption::Value::Vector & emptyList ()

Subscribers

People subscribed via source and target branches