tags tweak, rework canvas lock/refresh, vgui/cgui segv if closed while playing
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / cwindowtool.C
index e0e27e4d12d1dedb72c4d58531bd665862745b98..99577fd85a63e1b6c4c34d287b09834b3bc2eeb4 100644 (file)
@@ -466,9 +466,7 @@ void CWindowCropGUI::handle_event()
        mwindow->edl->session->crop_y2 = atol(height->get_text()) +
                mwindow->edl->session->crop_y1;
        update();
-       mwindow->cwindow->gui->lock_window("CWindowCropGUI::handle_event");
-       mwindow->cwindow->gui->canvas->draw_refresh();
-       mwindow->cwindow->gui->unlock_window();
+       mwindow->cwindow->gui->canvas->redraw(1);
 }
 
 void CWindowCropGUI::update()
@@ -2193,10 +2191,12 @@ void CWindowMaskGUI::handle_event()
 
 void CWindowMaskGUI::update_preview()
 {
+       unlock_window();
        CWindowGUI *cgui = mwindow->cwindow->gui;
        cgui->lock_window("CWindowMaskGUI::update_preview");
        cgui->sync_parameters(CHANGE_PARAMS, 0, 1);
        cgui->unlock_window();
+       lock_window("CWindowMaskGUI::update_preview");
 }