summaryrefslogtreecommitdiffstats
path: root/src/sp-flowtext.cpp
diff options
context:
space:
mode:
authorRalf Stephan <ralf@ark.in-berlin.de>2006-05-29 07:05:46 +0000
committerrwst <rwst@users.sourceforge.net>2006-05-29 07:05:46 +0000
commitd7cafbb411464bddf1e1cf45c48308fe60cc5d2d (patch)
treed62d005ba3a1d0111e3fbb83829524e562c0504e /src/sp-flowtext.cpp
parentUpdated italian installer (diff)
downloadinkscape-d7cafbb411464bddf1e1cf45c48308fe60cc5d2d.tar.gz
inkscape-d7cafbb411464bddf1e1cf45c48308fe60cc5d2d.zip
use unions for type-punning to remove some gcc-4.1 warnings
(bzr r1061)
Diffstat (limited to 'src/sp-flowtext.cpp')
-rw-r--r--src/sp-flowtext.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/sp-flowtext.cpp b/src/sp-flowtext.cpp
index a16123901..0083b0e4a 100644
--- a/src/sp-flowtext.cpp
+++ b/src/sp-flowtext.cpp
@@ -558,21 +558,21 @@ void SPFlowtext::convert_to_text()
if (set_y)
sp_repr_set_svg_double(span_tspan, "y", anchor_point[NR::Y]);
- SPObject *source_obj;
+ union { SPObject *op; void *vp; } source_obj;
Glib::ustring::iterator span_text_start_iter;
- group->layout.getSourceOfCharacter(it, (void**)&source_obj, &span_text_start_iter);
- gchar *style_text = sp_style_write_difference((SP_IS_STRING(source_obj) ? source_obj->parent : source_obj)->style, group->style);
+ group->layout.getSourceOfCharacter(it, &source_obj.vp, &span_text_start_iter);
+ gchar *style_text = sp_style_write_difference((SP_IS_STRING(source_obj.vp) ? source_obj.op->parent : source_obj.op)->style, group->style);
if (style_text && *style_text) {
span_tspan->setAttribute("style", style_text);
g_free(style_text);
}
- if (SP_IS_STRING(source_obj)) {
- Glib::ustring *string = &SP_STRING(source_obj)->string;
- SPObject *span_end_obj;
+ if (SP_IS_STRING(source_obj.vp)) {
+ Glib::ustring *string = &SP_STRING(source_obj.vp)->string;
+ union { SPObject *op; void *vp; } span_end_obj;
Glib::ustring::iterator span_text_end_iter;
- group->layout.getSourceOfCharacter(it_span_end, (void**)&span_end_obj, &span_text_end_iter);
- if (span_end_obj != source_obj) {
+ group->layout.getSourceOfCharacter(it_span_end, &span_end_obj.vp, &span_text_end_iter);
+ if (span_end_obj.op != source_obj.op) {
if (it_span_end == group->layout.end()) {
span_text_end_iter = span_text_start_iter;
for (int i = group->layout.iteratorToCharIndex(it_span_end) - group->layout.iteratorToCharIndex(it) ; i ; --i)