Mercurial > octave-nkf
diff libgui/graphics/Canvas.cc @ 19989:b6061813a693
always obtain gh_manager lock before accessing graphics objects
* Canvas.cc (Canvas::print, Canvas::updateCurrentPoint): Use
gh_manager::auto_lock before accessing object.
* Container.cc (Container::canvas): Likewise.
* ContextMenu.cc (ContextMenu::executeAt): Likewise.
* Figure.cc (hasUiControlChildren, hasUiMenuChildren): Likewise.
* GLCanvas.cc (GLCanvas::draw): Likewise.
* Object.cc (Object::objectDestroyed): Likewise.
* __init_qt__.cc (__init__, __shutdown__): Likewise.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 17 Mar 2015 20:16:16 -0400 |
parents | ed51e17f6ccf |
children | 210b301a3e39 |
line wrap: on
line diff
--- a/libgui/graphics/Canvas.cc Tue Mar 17 20:10:01 2015 -0400 +++ b/libgui/graphics/Canvas.cc Tue Mar 17 20:16:16 2015 -0400 @@ -91,6 +91,7 @@ void Canvas::print (const QString& file_cmd, const QString& term) { + gh_manager::auto_lock lock; graphics_object obj = gh_manager::get_object (m_handle); if (obj.valid_object ()) @@ -104,6 +105,8 @@ void Canvas::updateCurrentPoint(const graphics_object& fig, const graphics_object& obj, QMouseEvent* event) { + gh_manager::auto_lock lock; + gh_manager::post_set (fig.get_handle (), "currentpoint", Utils::figureCurrentPoint (fig, event), false);