--- deliantra/Deliantra-Client/Client.xs 2007/12/28 15:27:39 1.248 +++ deliantra/Deliantra-Client/Client.xs 2007/12/28 15:40:07 1.249 @@ -48,6 +48,13 @@ #include +#if !(defined (PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK (1, 15, 2)) +# define pango_layout_get_line_readonly pango_layout_get_line_readonly +# define pango_layout_get_lines_readonly pango_layout_get_lines_readonly +# define pango_layout_iter_get_line_readonly pango_layout_iter_get_line_readonly +# define pango_layout_iter_get_run_readonly pango_layout_iter_get_run_readonly +#endif + #ifndef _WIN32 # include # include @@ -661,6 +668,10 @@ opengl_fontmap = pango_opengl_font_map_new (); pango_opengl_font_map_set_default_substitute ((PangoOpenGLFontMap *)opengl_fontmap, substitute_func, 0, 0); opengl_context = pango_opengl_font_map_create_context ((PangoOpenGLFontMap *)opengl_fontmap); +#if defined (PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK (1, 15, 2) + pango_context_set_language (opengl_context, pango_language_from_string ("en")); + pango_context_set_base_dir (opengl_context, PANGO_DIRECTION_WEAK_LTR); +#endif } char * @@ -1167,7 +1178,7 @@ do { - PangoLayoutRun *run = pango_layout_iter_get_run (iter); + PangoLayoutRun *run = pango_layout_iter_get_run_readonly (iter); if (run && shape_attr_p (run)) { @@ -1281,7 +1292,7 @@ CODE: { PangoRectangle rect; - PangoLayoutLine *line = pango_layout_get_line (self->pl, 0); + PangoLayoutLine *line = pango_layout_get_line_readonly (self->pl, 0); pango_layout_line_get_pixel_extents (line, 0, &rect); RETVAL = PANGO_DESCENT (rect); } @@ -1338,7 +1349,7 @@ if (line < 0) XSRETURN_EMPTY; - if (!(lp = pango_layout_get_line (self->pl, line))) + if (!(lp = pango_layout_get_line_readonly (self->pl, line))) XSRETURN_EMPTY; /* do better */ pango_layout_line_x_to_index (lp, x * PANGO_SCALE, &index, &trailing);