# HG changeset patch # User Michael Goffioul # Date 1204120740 -3600 # Node ID 40b16e04172a4e62ad86ab60c16f8e730fc015ea # Parent d7737a4268b7da229a8621d3648dfc73100340e5 Make backend switching work. diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -27,6 +27,14 @@ 2008-06-04 Michael Goffioul + * graphics.h.in (root_figure::get_default): Use factory defaults when + no explicit default value exists. + (figure::properties::set___backend__): Reset __plot_stream__ to empty + value. + * graphics.cc (gh_manager::gh_manager): Call + graphics_backend::default_backend to make sure the default backend is + initialized. + * graphics.h.in (patch::properties::edgealpha, surface::properties::facealpha, surface::properties::edgealpha): Fix typos in property names. diff --git a/src/graphics.cc b/src/graphics.cc --- a/src/graphics.cc +++ b/src/graphics.cc @@ -2980,6 +2980,9 @@ next_handle (-1.0 - (rand () + 1.0) / (RAND_MAX + 2.0)) { handle_map[0] = graphics_object (new root_figure ()); + + // Make sure the default backend is registered. + graphics_backend::default_backend (); } graphics_handle diff --git a/src/graphics.h.in b/src/graphics.h.in --- a/src/graphics.h.in +++ b/src/graphics.h.in @@ -2210,7 +2210,13 @@ octave_value retval = default_properties.lookup (name); if (retval.is_undefined ()) - error ("get: invalid default property `%s'", name.c_str ()); + { + // no default property found, use factory default + retval = factory_properties.lookup (name); + + if (retval.is_undefined ()) + error ("get: invalid default property `%s'", name.c_str ()); + } return retval; } @@ -2274,6 +2280,7 @@ close (false); backend = b; __backend__ = b.get_name (); + __plot_stream__ = Matrix (); mark_modified (); }