diff options
| author | Ralf Stephan <ralf@ark.in-berlin.de> | 2006-05-29 07:05:46 +0000 |
|---|---|---|
| committer | rwst <rwst@users.sourceforge.net> | 2006-05-29 07:05:46 +0000 |
| commit | d7cafbb411464bddf1e1cf45c48308fe60cc5d2d (patch) | |
| tree | d62d005ba3a1d0111e3fbb83829524e562c0504e /src/sp-flowtext.cpp | |
| parent | Updated italian installer (diff) | |
| download | inkscape-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.cpp | 16 |
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) |
