Mercurial > octave
changeset 23136:2165993aed7d
Lock the graphics mutex before manipulating text_renderer objects (bug #50189)
* graphics.cc: instantiate an auto_lock object before every call to
text_renderer methods
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Wed, 01 Feb 2017 22:22:19 +0100 |
parents | be2654b2f34f |
children | 334119c390b3 |
files | libinterp/corefcn/graphics.cc |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/graphics.cc Wed Feb 01 21:06:37 2017 -0800 +++ b/libinterp/corefcn/graphics.cc Wed Feb 01 22:22:19 2017 +0100 @@ -6459,6 +6459,7 @@ } + gh_manager::auto_lock guard; txt_renderer.set_font (get ("fontname").string_value (), get ("fontweight").string_value (), get ("fontangle").string_value (), @@ -7349,6 +7350,7 @@ if (txt_renderer.ok ()) { + gh_manager::auto_lock guard; ext = txt_renderer.get_extent (label, 0.0, get_ticklabelinterpreter ()); @@ -8318,6 +8320,7 @@ void text::properties::update_font (void) { + gh_manager::auto_lock guard; txt_renderer.set_font (get ("fontname").string_value (), get ("fontweight").string_value (), get ("fontangle").string_value (), @@ -8354,6 +8357,7 @@ string_vector sv = string_prop.string_vector_value (); + gh_manager::auto_lock guard; txt_renderer.text_to_pixels (sv.join ("\n"), pixels, bbox, halign, valign, get_rotation (), get_interpreter ()); @@ -9050,6 +9054,7 @@ elt = text_parser::parse (get_string_string (), "none"); + gh_manager::auto_lock guard; txt_renderer.set_font (get_fontname (), get_fontweight (), get_fontangle (), get_fontsize ());