Mercurial > octave-libgccjit
comparison src/graphics.cc @ 14016:8feb25ecddaf
close all graphics toolkits before exit
* graphics.h (graphics_toolkit::close_all_toolkits):
Move here from graphics.cc. Ensure that the toolkit is closed and
deleted properly.
* toplev.cc (clean_up_and_exit):
Call graphics_toolkit::close_all_toolkits.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 08 Dec 2011 17:22:57 -0500 |
parents | 907d03def9d5 |
children | e3bed294b117 |
comparison
equal
deleted
inserted
replaced
14015:77adde2e79ac | 14016:8feb25ecddaf |
---|---|
2886 { | 2886 { |
2887 if (available_toolkits.size () == 0) | 2887 if (available_toolkits.size () == 0) |
2888 register_toolkit (new gnuplot_toolkit ()); | 2888 register_toolkit (new gnuplot_toolkit ()); |
2889 | 2889 |
2890 return available_toolkits["gnuplot"]; | 2890 return available_toolkits["gnuplot"]; |
2891 } | |
2892 | |
2893 void | |
2894 graphics_toolkit::close_all_toolkits (void) | |
2895 { | |
2896 while (! available_toolkits.empty ()) | |
2897 { | |
2898 available_toolkits_iterator p = available_toolkits.begin (); | |
2899 | |
2900 p->second.close (); | |
2901 | |
2902 available_toolkits.erase (p); | |
2903 } | |
2904 } | 2891 } |
2905 | 2892 |
2906 std::map<std::string, graphics_toolkit> graphics_toolkit::available_toolkits; | 2893 std::map<std::string, graphics_toolkit> graphics_toolkit::available_toolkits; |
2907 | 2894 |
2908 // --------------------------------------------------------------------- | 2895 // --------------------------------------------------------------------- |