Merge lp:~vanvugt/compiz-core/fix-922199 into lp:compiz-core/0.9.5

Proposed by Daniel van Vugt
Status: Merged
Merged at revision: 2967
Proposed branch: lp:~vanvugt/compiz-core/fix-922199
Merge into: lp:compiz-core/0.9.5
Diff against target: 52 lines (+11/-9)
3 files modified
plugins/place/src/constrain-to-workarea/CMakeLists.txt (+1/-4)
plugins/place/src/screen-size-change/CMakeLists.txt (+2/-5)
src/CMakeLists.txt (+8/-0)
To merge this branch: bzr merge lp:~vanvugt/compiz-core/fix-922199
Reviewer Review Type Date Requested Status
Compiz Maintainers Pending
Review via email: mp+90597@code.launchpad.net

Description of the change

Prevent core classes being reinstantiated in plugins. (LP: #922199)

This not only caused massive code bloat from the duplicated class functions,
but serious bugs from duplicated static data such as singleton pointers.

To post a comment you must log in.
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

You are amazing. Thank you.

Testing this now.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/place/src/constrain-to-workarea/CMakeLists.txt'
2--- plugins/place/src/constrain-to-workarea/CMakeLists.txt 2012-01-27 06:48:04 +0000
3+++ plugins/place/src/constrain-to-workarea/CMakeLists.txt 2012-01-29 08:51:23 +0000
4@@ -57,10 +57,7 @@
5
6 TARGET_LINK_LIBRARIES(
7 compiz_place_constrain_to_workarea
8- compiz_rect
9- compiz_point
10- compiz_window_geometry
11- compiz_window_geometry_saver
12
13+ compiz_core
14 ${GLIBMM_LIBRARIES}
15 )
16
17=== modified file 'plugins/place/src/screen-size-change/CMakeLists.txt'
18--- plugins/place/src/screen-size-change/CMakeLists.txt 2012-01-27 06:48:04 +0000
19+++ plugins/place/src/screen-size-change/CMakeLists.txt 2012-01-29 08:51:23 +0000
20@@ -57,11 +57,8 @@
21
22 TARGET_LINK_LIBRARIES(
23 compiz_place_screen_size_change
24+
25 compiz_place_constrain_to_workarea
26- compiz_rect
27- compiz_point
28- compiz_window_geometry
29- compiz_window_geometry_saver
30-
31+ compiz_core
32 ${GLIBMM_LIBRARIES}
33 )
34
35=== modified file 'src/CMakeLists.txt'
36--- src/CMakeLists.txt 2012-01-24 14:57:05 +0000
37+++ src/CMakeLists.txt 2012-01-29 08:51:23 +0000
38@@ -158,6 +158,14 @@
39 # ${CORE_MOD_LIBRARIES}
40 )
41
42+#
43+# Tell CMake that targets using compiz_core should NOT re-import the
44+# libraries that compiz_core depends on (contains).
45+#
46+set_target_properties (compiz_core PROPERTIES
47+ LINK_INTERFACE_LIBRARIES ""
48+)
49+
50 target_link_libraries (
51 compiz
52 compiz_core

Subscribers

People subscribed via source and target branches