X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcresources.C;h=b51843b11232047a2f229fbd2a9c76b0260da955;hp=ba67eeffd1da6d7d5ab37a6d34ed3f6038d9d453;hb=65eb7d06c462c2caaa7fabcb8956add9e6b8abc7;hpb=4b6c39e6cf4a3fd9c1b347db6de686ab55d6cac8 diff --git a/cinelerra-5.1/guicast/bcresources.C b/cinelerra-5.1/guicast/bcresources.C index ba67eeff..b51843b1 100644 --- a/cinelerra-5.1/guicast/bcresources.C +++ b/cinelerra-5.1/guicast/bcresources.C @@ -144,6 +144,34 @@ void BC_Resources::init_font_defs(double scale) set_font(large_font_xft2, default_font_xft2); set_font(big_font_xft2, default_font_xft2); } +void BC_Resources::finit_font_defs() +{ + delete [] small_font; + delete [] small_font2; + delete [] medium_font; + delete [] medium_font2; + delete [] large_font; + delete [] large_font2; + delete [] big_font; + delete [] big_font2; + delete [] small_fontset; + delete [] medium_fontset; + delete [] large_fontset; + delete [] big_fontset; + delete [] small_font_xft; + delete [] small_b_font_xft; + delete [] medium_font_xft; + delete [] medium_b_font_xft; + delete [] large_font_xft; + delete [] large_b_font_xft; + delete [] big_font_xft; + delete [] big_b_font_xft; + + delete [] small_font_xft2; + delete [] medium_font_xft2; + delete [] large_font_xft2; + delete [] big_font_xft2; +} suffix_to_type_t BC_Resources::suffix_to_type[] = { @@ -205,6 +233,47 @@ int BC_Resources::get_machine_cpus() return cpus; } +void BC_Resources::new_vframes(int n, VFrame *vframes[], ...) +{ + va_list ap; + va_start(ap, vframes); + for( int i=0; i= 0 ) delete vframes[n]; +} + BC_Resources::~BC_Resources() { + delete id_lock; + delete create_window_lock; + del_vframes(default_type_to_icon, 6); + delete default_bar; + del_vframes(default_cancel_images, 3); + del_vframes(default_ok_images, 3); + del_vframes(default_usethis_images, 3); +#if 0 + del_vframes(default_checkbox_images, 5); + del_vframes(default_radial_images, 5); + del_vframes(default_label_images, 5); +#endif + del_vframes(default_menuitem_data, 3); + del_vframes(default_menubar_data, 3); + delete default_menu_popup_bg; + delete default_menu_bar_bg; + delete default_check_image; + del_vframes(default_filebox_text_images, 3); + del_vframes(default_filebox_icons_images, 3); + del_vframes(default_filebox_updir_images, 3); + del_vframes(default_filebox_newfolder_images, 3); + del_vframes(default_filebox_rename_images, 3); + del_vframes(default_filebox_delete_images, 3); + del_vframes(default_filebox_reload_images, 3); + del_vframes(default_listbox_button, 4); + delete default_listbox_bg; + del_vframes(default_listbox_expand, 5); + del_vframes(default_listbox_column, 3); + delete default_listbox_up; + delete default_listbox_dn; + del_vframes(default_pot_images, 3); + del_vframes(default_progress_images, 2); + del_vframes(default_medium_7segment, 20); + if( fontlist ) { + fontlist->remove_all_objects(); + delete fontlist; + } + finit_font_defs(); } int BC_Resources::initialize_display(BC_WindowBase *window)