vicon drag tweaks, proxy drag fix, vicon mouseover, binfolder around sort fix, draw_r...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / cwindowgui.C
index c51eb0c3d155fc8bcef72a316efbc8521689849d..d8c09e055692e8b0587fb9d7dc9f106dfe21337c 100644 (file)
@@ -646,14 +646,12 @@ int CWindowGUI::drag_stop()
                if(mwindow->session->drag_assets->total ||
                        mwindow->session->drag_clips->total)
                {
-                       mwindow->gui->lock_window("CWindowGUI::drag_stop 5");
+                       mwindow->gui->lock_window("CWindowGUI::drag_stop 1");
                        mwindow->undo->update_undo_before(_("insert assets"), 0);
-                       mwindow->gui->unlock_window();
                }
 
                if(mwindow->session->drag_assets->total)
                {
-                       mwindow->gui->lock_window("CWindowGUI::drag_stop 1");
                        mwindow->clear(0);
                        mwindow->load_assets(mwindow->session->drag_assets,
                                mwindow->edl->local_session->get_selectionstart(),
@@ -668,7 +666,6 @@ int CWindowGUI::drag_stop()
 
                if(mwindow->session->drag_clips->total)
                {
-                       mwindow->gui->lock_window("CWindowGUI::drag_stop 2");
                        mwindow->clear(0);
                        mwindow->paste_edls(mwindow->session->drag_clips,
                                LOADMODE_PASTE,
@@ -688,7 +685,7 @@ int CWindowGUI::drag_stop()
                        mwindow->gui->update(1, 1, 1, 1, 0, 1, 0);
                        mwindow->undo->update_undo_after(_("insert assets"), LOAD_ALL);
                        mwindow->gui->unlock_window();
-                       mwindow->sync_parameters(LOAD_ALL);
+                       mwindow->sync_parameters(CHANGE_ALL);
                }
        }
 
@@ -2312,6 +2309,24 @@ int CWindowCanvas::do_eyedrop(int &rerender, int button_press, int draw)
        return result;
 }
 
+int CWindowCanvas::need_overlays()
+{
+       if( mwindow->edl->session->safe_regions ) return 1;
+       if( mwindow->edl->session->cwindow_scrollbars ) return 1;
+       if( gui->highlighted ) return 1;
+       switch( mwindow->edl->session->cwindow_operation ) {
+               case CWINDOW_EYEDROP:
+                       if( ! gui->eyedrop_visible ) break;
+               case CWINDOW_CAMERA:
+               case CWINDOW_PROJECTOR:
+               case CWINDOW_CROP:
+               case CWINDOW_MASK:
+               case CWINDOW_RULER:
+                       return 1;
+       }
+       return 0;
+}
+
 void CWindowCanvas::draw_overlays()
 {
        if(mwindow->edl->session->safe_regions)