summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2012-07-08 11:15:11 -0400
committerRyan Lortie <desrt@desrt.ca>2012-07-08 11:15:11 -0400
commit4228ef3194fff11dcdcdce0b61aa0474fffb066d (patch)
tree7f6fdd7df35a63913f70519ff5461cbf162807b1
parent1cebe105ca3d2a1d4c23fa0ed33af6a79dbf4fec (diff)
downloaddconf-4228ef3194fff11dcdcdce0b61aa0474fffb066d.tar.gz
engine/: mark some structs 'extern' in a header
This should have been done in the first place but it went unnoticed because the linker has an odd habit of permitting two structs with the same name to be defined. It only became a problem when optimisation was turned on and GCC noticed that nobody was writing to one particular copy of that struct and assumed that its contents would always be all-zeros (which is an assumption that later became untrue once the linker had done its strange magic).
-rw-r--r--engine/dconf-engine-source-private.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/engine/dconf-engine-source-private.h b/engine/dconf-engine-source-private.h
index 1b6faad..822354a 100644
--- a/engine/dconf-engine-source-private.h
+++ b/engine/dconf-engine-source-private.h
@@ -25,7 +25,7 @@
#include "dconf-engine-source.h"
-G_GNUC_INTERNAL const DConfEngineSourceVTable dconf_engine_source_user_vtable;
-G_GNUC_INTERNAL const DConfEngineSourceVTable dconf_engine_source_system_vtable;
+G_GNUC_INTERNAL extern const DConfEngineSourceVTable dconf_engine_source_user_vtable;
+G_GNUC_INTERNAL extern const DConfEngineSourceVTable dconf_engine_source_system_vtable;
#endif /* __dconf_engine_source_private_h__ */