X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Ftitler%2Ftitlerwindow.C;h=9245368f9bce421f77406ccdd8ec06c0353b32c6;hb=debf38f78ae5ce154f54183b1638278bf8a24736;hp=bddb7993bdb845162de47d773e6454d01b847865;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/plugins/titler/titlerwindow.C b/cinelerra-5.1/plugins/titler/titlerwindow.C index bddb7993..9245368f 100644 --- a/cinelerra-5.1/plugins/titler/titlerwindow.C +++ b/cinelerra-5.1/plugins/titler/titlerwindow.C @@ -77,6 +77,7 @@ TitleWindow::TitleWindow(TitleMain *client) drag = 0; cur_popup = 0; fonts_popup = 0; + png_popup = 0; color_x = color_y = 0; outline_color_x = outline_color_y = 0; @@ -92,6 +93,7 @@ TitleWindow::TitleWindow(TitleMain *client) encoding = 0; color_button = 0; color_thread = 0; + color_popup = 0; outline_color_button = 0; outline_color_thread = 0; motion_title = 0; @@ -121,14 +123,17 @@ TitleWindow::TitleWindow(TitleMain *client) void TitleWindow::done_event(int result) { drag->drag_deactivate(); - color_thread->close_window(); - outline_color_thread->close_window(); - color_popup->close_window(); - png_popup->close_window(); + delete color_thread; color_thread = 0; + delete outline_color_thread; outline_color_thread = 0; + delete color_popup; color_popup = 0; + delete png_popup; png_popup = 0; + } TitleWindow::~TitleWindow() { + delete color_thread; + delete outline_color_thread; delete color_popup; delete png_popup; for( int i=0; icolor_thread->start_window(client->config.color, - client->config.alpha); + client->config.alpha, 1); return 1; } TitleOutlineColorButton::TitleOutlineColorButton(TitleMain *client, TitleWindow *window, int x, int y) @@ -797,7 +802,7 @@ TitleOutlineColorButton::TitleOutlineColorButton(TitleMain *client, TitleWindow int TitleOutlineColorButton::handle_event() { window->outline_color_thread->start_window(client->config.outline_color, - client->config.outline_alpha); + client->config.outline_alpha, 1); return 1; } @@ -1234,6 +1239,17 @@ int TitleColorThread::handle_new_color(int output, int alpha) return 1; } +void TitleColorThread::handle_done_event(int result) +{ + if( result ) { + client->config.color = orig_color; + client->config.alpha = orig_alpha; + handle_new_color(orig_color, orig_alpha); + window->update_color(); + window->send_configure_change(); + } +} + TitleDrag::TitleDrag(TitleMain *client, TitleWindow *window, int x, int y) : DragCheckBox(client->server->mwindow, x, y, _("Drag"), &client->config.drag, client->config.title_x, client->config.title_y, @@ -1528,9 +1544,10 @@ int TitleColorPopup::activate() } void TitleColorPopup::handle_done_event(int result) { - if( result ) return; - char txt[BCSTRLEN]; sprintf(txt, "<%s #%06x>", _(KW_COLOR), color_value); - window->insert_ibeam(txt); + if( !result ) { + char txt[BCSTRLEN]; sprintf(txt, "<%s #%06x>", _(KW_COLOR), color_value); + window->insert_ibeam(txt); + } } TitlePngPopup::TitlePngPopup(TitleMain *client, TitleWindow *window)